diff --git a/.editorconfig b/.editorconfig index 3e3bd16bb34..7df89a90eb3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,8 +9,6 @@ charset = utf-8 end_of_line = lf insert_final_newline = true -# PHP PSR-2 Coding Standards -# http://www.php-fig.org/psr/psr-2/ [*.php] indent_style = tab indent_size = 4 diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5e56ac2a1fc..fed73d7b002 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -4,7 +4,7 @@ How to contribute to Dolibarr Bug reports and feature requests -------------------------------- -*Note*: Issues are not a support forum. If you need help using the software, please use [the forums](http://www.dolibarr.org/forum). +*Note*: Issues are not a support forum. If you need help using the software, please use [the forums](https://www.dolibarr.org/forum). Issues are managed on [GitHub](https://github.com/Dolibarr/dolibarr/issues). @@ -104,31 +104,32 @@ Long description (Can span accross multiple lines). Pull Request (PR) process is the process to submit a change (enhancement, bug fix, ...) into the code of the project. There is some rules to know and a process to follow to optimize the chance to have PRs merged efficiently... -When submitting a pull request, use same rule as [Commits](#commits) for the message. -If your pull request only contains 1 commit, GitHub will be smart enough to fill it for you. -Otherwise, please be a bit verbose about what you're providing. +* A PR must be atomic. It means it must contains the lower possible changes for 1 need (1 bug fix or 1 new feature) without breaking usability of code. If a PR can be split into several PRs, it often means your PR is not atomic. + +* Your Pull Request (PR) must pass the Continuous Integration checks and code quality checks. + +* When submitting a pull request, use same rule as [Commits](#commits) for the message. If your pull request only contains 1 commit, GitHub will be smart enough to fill it for you. Otherwise, please be a bit verbose about what you're providing. -Your Pull Request (PR) must pass the Continuous Integration checks and code quality checks. Also, some code changes need a prior approbation: -* if you want to include a new external library (into htdocs/includes directory), please ask before to the project manager (@eldy) to see if such a library can be accepted. +* if you want to include a new external library (into htdocs/includes directory), please ask before to the core project manager (mention @dolibarr-yoda in your issue) to see if such a library can be accepted. -* if you add a new table, you must first create a page on https://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Then ask the project manager (@eldy) if the new data model you plan to add is compatible with curent and future works in progress and can be accepted as you suggest. +* if you add a new table, you must first create a page on https://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Then ask the project manager (@dolibarr-yoda) if the new data model you plan to add is compatible with curent and future works in progress and can be accepted as you suggest. Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow every developer discuss about the PR (A label is added in such a case). -If the label of PR start with "WIP" (Work In Progress), it will not be analyzed (until you change the label of PR). +If the label of PR start with "Draft" or "WIP" (Work In Progress), it will not be analyzed for merging until you change the label of PR (but it can be analyzed for discussion). If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration. If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR and why the PR is kept open. By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet. In most cases, it gives you information of things you have to do to have the PR taken into consideration (for example a change is requested, a conflict is expected to be solved, some questions were asked). If you have a yellow, red flag of purple flag, don't expect to have your PR validated. You must first provide the answer the tag ask you. The majority of open PR are waiting an action of the author of the PR. -Statistics on Dolibarr project shows that around 95% of submitted PR are reviewed and tagged. Average answer delay is also one of the best among Open source project (just few days before having the Answer Tag set). This is one of the most important ratio of answered PR in Open Source world for a major project. Don't expect the core team to reach the 100%. A so high ratio is very rare on a so popular project and with the increasing popularity of Dolibarr, this ratio will probably decrease in future to a more common level. +Statistics on Dolibarr project shows that 95% of submitted PR are reviewed and tagged. Average answer delay is also one of the best among Open source projects (just few days before having the Answer Tag set). This is one of the most important ratio of answered PR in Open Source world for a major project. Don't expect the core team to reach the 100%. A so high ratio is very rare on a so popular project and with the increasing popularity of Dolibarr, this ratio will probably decrease in future to a more common level. ### Resources -[Developer documentation](http://wiki.dolibarr.org/index.php/Developer_documentation) +[Developer documentation](https://wiki.dolibarr.org/index.php/Developer_documentation) Translations ------------ @@ -144,11 +145,11 @@ to retreive all old translation of a source text, and restore the translation in ### Resources -[Translator documentation](http://wiki.dolibarr.org/index.php/Translator_documentation) +[Translator documentation](https://wiki.dolibarr.org/index.php/Translator_documentation) Documentation ------------- -The project's documentation is maintained on the [Wiki](http://wiki.dolibarr.org/index.php). +The project's documentation is maintained on the [Wiki](https://wiki.dolibarr.org/index.php). *Note*: to help prevent spam, you need to create an account before being able to edit. Everybody is welcome to contribute to its content. diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 7c43ab24aef..6dbf39bde26 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -194,22 +194,6 @@ tools: - 'test/*' - 'htdocs/includes/*' paths: { } - - php_changetracking: - enabled: false - bug_patterns: - - '\bfix(?:es|ed)?\b' - feature_patterns: - - '\badd(?:s|ed)?\b' - - '\bimplement(?:s|ed)?\b' - filter: - excluded_paths: - - 'build/*' - - 'dev/*' - - 'doc/*' - - 'test/*' - - 'htdocs/includes/*' - paths: { } # Coding-Style / Bug Detection js_hint: diff --git a/ChangeLog b/ChangeLog index 68cd7695057..dafa90b9632 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,83 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 11.0.4 compared to 11.0.3 ***** +FIX: #13749 +FIX: #7594 Expense report multi pagebreak +FIX: Access to undeclared static property: Contact::$table_element +FIX: actions on supplier proposal not saved (bad trigger name) +FIX: Add function "completeTabsHead" to "addreplace" type hook. +FIX: All forms must use newToken() +FIX: Another "Access to undeclared static property: Contact::$table_element" && "Societe::$table_element" +FIX: author search supplier proposal list +FIX: A variable was erased by a temporary variable +FIX: Avoid infinite loop when a fetch is inside a compute field. +FIX: Backto link +FIX: Bad position of total in column +FIX: bad value in currency into discount created from down payment +FIX: buyprice extrafield langfile and tooltip +FIX: Buyprice was updated only if min price for this qty had same qty +FIX: Can switch from double to price type for extrafields +FIX: Can use decimal value in virtual products +FIX: child categories only with good entity rights +FIX: cloning of emailing when no content selected +FIX: closing tags +FIX: Combo list of available users to filter on the list of leaves. +FIX: Compatibility with multicompany, bad numerotation of task. +FIX: consistency of price w/wo vat wrong when price entered with tax +FIX: default value of selectMasssAction broken +FIX: draftordered replenish virtual stock +FIX: Error update SQL into stock reception +FIX: expensereport status in generated pdf +FIX: extra date field incorrect check +FIX: Extrafields of type price must be '' and not '0' if not defined +FIX: Foreign currency lost when splitting a discount +FIX: get remain to pay with rounding decimals +FIX: gzip and bzip2 must use option -f +FIX: IHM, unexpected quote +FIX: keep viewstatut for doli 3.5 +FIX: Link missing into email of some notification +FIX: Look and feel v11 +FIX: md stylesheet to be included by external modules like eldy +FIX: missing array option +FIX: missing default accountancy product buy code +FIX: missing fk_bank during export of suppliers invoices +FIX: missing member entity +FIX: missing selectedlines on supplier order but checkbox are displayed +FIX: Missing token and take into account max date when it can. +FIX: model export list must be sorted by label +FIX: multicurrency manage on hidden conf SUPPLIER_PROPOSAL_UPDATE_PRICE_ON_SUPPlIER_PROPOSAL +FIX: Must escape shell +FIX: Must exclude logs and some dirs for compressed backup +FIX: ordered stock already in $stock +FIX: picture migration script from doli 9.0 +FIX: print pictures on shipment docs +FIX: product get purchase prices +FIX: product purchase prices +FIX: Protection when database has a corrupted product id +FIX: remove unused var, $usercancreate can be change by Multicompany +FIX: replenish stock to buy +FIX: Sanitizing menu parameter +FIX: Send email from bulk action of list of thirdparties +FIX: setup of suggested payment mode on proposals and orders +FIX: Several pb in export of documents +FIX: Situation invoice take into account the credit notes. +FIX: some others modules (like subtotal) use other product_type than 0 or 1 AND must not be considered in this report +FIX: sort by default role makes no sense +FIX: sort on company on member list +FIX: TakePOS buying price +FIX: text version of html emailing (removed the body style) +FIX: The "test smtp connectivity" failed on page to setup mass emailing +FIX: Error logs an Orderline::delete error, but this is an Orderline::insert error +FIX: Translation of tooltips of extrafields +FIX: Use getNomURL instead of hard coded link. Fix limit. +FIX: Use of image into free text for PDF if DOL_DATA_DIR is outside of +FIX: viewstatut to search status +FIX: we must export company mail address on contact vcard only if contact email address is empty +FIX: when we filter a list on a view status, we want this filter to be on bookmark that we create +FIX: Wrong Sql on getListOfTowns api method +FIX: wrong user right's name to top menu "commercial" +FIX: XSS Vulnerability ***** ChangeLog for 12.0.0 compared to 11.0.0 ***** For Users: diff --git a/README.md b/README.md index fbf59a27a74..f611f333e6a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…). -It's an Open Source Software (written in PHP language) designed for small, medium or large companies, foundations and freelances. +It's an Open Source Software (written in PHP language) designed for small, medium or large companies, foundations and freelancers. You can freely use, study, modify or distribute it according to its Free Software licence. @@ -27,8 +27,8 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git If you have low technical skills and you're looking to install Dolibarr ERP/CRM in just a few clicks, you can use one of the packaged versions: -- DoliWamp for Windows -- DoliDeb for Debian or Ubuntu +- [DoliWamp for Windows](https://wiki.dolibarr.org/index.php/Dolibarr_for_Windows_(DoliWamp) +- [DoliDeb for Debian](https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian - DoliRpm for Redhat, Fedora, OpenSuse, Mandriva or Mageia Releases can be downloaded from [official website](https://www.dolibarr.org/). @@ -67,6 +67,7 @@ You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) If you don't have time to install it yourself, you can try some commercial 'ready to use' Cloud offers (See https://saas.dolibarr.org). However, this third solution is not free. + ## UPGRADING - At first make a backup of your Dolibarr files & than see https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr @@ -85,28 +86,27 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) ### Main application/modules (all optional) -- Customers, Prospects (Leads) and/or Suppliers directory +- Customers, Prospects (Leads) and/or Suppliers directory + Contacts +- Members management - Products and/or Services catalog - Commercial proposals management -- Customer and Supplier Orders management +- Customer & Supplier Orders management +- Shipping management +- Warehouse/Stock management - Invoices and payment management - Standing orders management (European SEPA) - Bank accounts management - Accounting management - Shared calendar/agenda (with ical and vcal export for third party tools integration) - Opportunities and/or project management -- Projects management +- Projects & Tasks management - Contracts management -- Warehouse/Stock management -- Shipping management - Interventions management - Employee's leave requests management - Expense reports - Timesheets - Electronic Document Management (EDM) - Foundations members management -- Mass emailing -- Surveys - Point of Sale (POS) - … @@ -115,11 +115,13 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) - Bookmarks management - Donations management - Reporting +- Surveys - Data export/import - Barcodes support - Margin calculations - LDAP connectivity - ClickToDial integration +- Mass emailing - RSS integration - Skype integration - Payment platforms integration (PayPal, Stripe, Paybox...) diff --git a/build/exe/doliwamp/Languages/MyCatalan.isl b/build/exe/doliwamp/Languages/MyCatalan.isl index d8b86eae5ba..b157d1cea27 100644 --- a/build/exe/doliwamp/Languages/MyCatalan.isl +++ b/build/exe/doliwamp/Languages/MyCatalan.isl @@ -1,45 +1,47 @@ [CustomMessages] -NameAndVersion=%1 versi %2 +NameAndVersion=%1 versió %2 AdditionalIcons=Icones addicionals: CreateDesktopIcon=Crea una icona a l'&Escriptori CreateQuickLaunchIcon=Crea una icona a la &Barra de tasques ProgramOnTheWeb=%1 a Internet -UninstallProgram=Desinstalla %1 +UninstallProgram=Desinstal·la %1 LaunchProgram=Obre %1 -AssocFileExtension=&Associa %1 amb l'extensi de fitxer %2 -AssocingFileExtension=Associant %1 amb l'extensi de fitxer %2... +AssocFileExtension=&Associa %1 amb l'extensió de fitxer %2 +AssocingFileExtension=Associant %1 amb l'extensió de fitxer %2... -YouWillInstallDoliWamp=Va a installar o actualitzar (Apache + Mysql + PHP + Dolibarr) al seu ordinador. -ThisAssistantInstallOrUpgrade=Aquest assistent installa o actualitza Dolibarr ERP-CRM i tots els seus requisits (Apache, Mysql i PHP) optimitzats per a l's de Dolibarr. -IfYouHaveTechnicalKnowledge=Si teniu coneixements tcnics i necessita usar la seva Apache, Mysql i PHP amb altres aplicacions a part de Dolibarr, no utilitzeu aquest assistent, hauria laci manual d'Dolibarr sobre un Apache, Mysql i PHP existent. -ButIfYouLook=Per si busca una installaci automtica, es troba en el bon cam... -DoYouWantToStart=Vol iniciar el procs d'installaci/actualitzaci? +YouWillInstallDoliWamp=Instal·laràs DoliWamp (Dolibarr i altres programaris com Apache, Mysql i PHP) al teu ordinador. +ThisAssistantInstallOrUpgrade=ALERTA: Utilitzar un ERP CRM instal·lat en un ordinador en local pot ser perillós: si l'ordinador s'espatlla, pots perdre totes les teves dades. Fes-ho si estàs preparat per autogestionar-te còpies de seguretat. Si no, pots utilitzar una instal·lació Saas (pots veure https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Si tens coneixements tècnics i vols autogestionar el teu Apache, Mysql i PHP, no utilitzis aquest assistent i fes una instal·lació manual de Dolibarr sobre un servidor existent d'Apache, Mysql i PHP. +ButIfYouLook=Però si busques una instal·lació automàtica en el teu propi ordinador, et trobes en el bon camí... +DoYouWantToStart=Vols iniciar el procés d'instal·lació? -TechnicalParameters=Parmetres tcnics -IfFirstInstall=Si es tracta de la primera instal laci, haur d'especificar alguns parmetres tcnics. Si no els entn, no sabeu o va a procedir a una actualitzaci, deixi els camps amb els valors proposats per defecte. +TechnicalParameters=Paràmetres tècnics +IfFirstInstall=Si es tracta de la primera instal·lació, hauràs d'especificar alguns paràmetres tècnics. Si no els entens, no n'estàs segur, o estàs fent una actualització, pots deixar els valors per defecte. -; WARNING !!! STRINGS HERE MUST BE LOWER THAN 70 CHARACTERS -SMTPServer=Servidor SMTP (El seu o el del seu ISP, nicament primera instal.laci) : -ApachePort=Puerto Apache (nicament primera instal.laci, normalment s el 80) : -MySqlPort=Puerto Mysql (nicament primera instal.laci, normalment s el 3306) : -MySqlPassword=Contrasenya del servidor i la base de dades MySQL de root (nicament primera instal.laci): +; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS +SMTPServer=Servidor SMTP (propi o ISP, només primera instal·lació) : +ApachePort=Port Apache (només primera instal·lació, normalment el 80) : +MySqlPort=Port MySql (només primera instal·lació, normalment el 3306) : +MySqlPassword=Contrasenya del servidor i base de dades MySql de root (només primera instal·lació): -FailedToDeleteLock=FailedToDeleteLock=Error en l'eliminaci del fitxer %1/www/dolibarr/install.lock. Pot ignorar l'avs per s possible que hagi de eliminar-lo manualment ms tard. En aquest cas, ser informat. Feu clic a OK per continuar... +FailedToDeleteLock=FailedToDeleteLock=Error en l'eliminació del fitxer %1/www/dolibarr/install.lock. Pots ignorar l'avís però és possible que hagis d'eliminar-lo manualment més tard. En aquest cas, serà informat. Fes clic a OK per continuar... -PortAlreadyInUse=Sembla que el port %1 ja est sent utilitzat. Es recomana cancellar, tornar enrere i especificar un altre valor per al port% 2. Cancellar i escollir un altre valor? +PortAlreadyInUse=Sembla que el port %1 ja està sent utilitzat. Es recomana cancel·lar, tornar enrere i especificar un altre valor per al port% 2. Vols cancel·lar i escollir un altre valor? -FirefoxDetected=S'ha detectat Firefox al seu ordinador. Voleu activar per defecte com a navegador per Dolibarr? -ChromeDetected=S'ha detectat Chrome al seu ordinador. Voleu activar per defecte com a navegador per Dolibarr? -ChooseDefaultBrowser=Esculli el seu navegador per defecte. Si no est segur, simplement feu clic a Obrir: +FirefoxDetected=S'ha detectat Firefox al teu ordinador. El vols utilitzar com a navegador per defecte per Dolibarr? +ChromeDetected=S'ha detectat Chrome al teu ordinador. El vols utilitzar com a navegador per defecte per Dolibarr? +ChooseDefaultBrowser=Escull el teu navegador per defecte (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...).. Si no estàs segur, simplement fes clic a Obre: -LaunchNow=Llanar ara Dolibarr +LaunchNow=Obre ara el Dolibarr -ProgramHasBeenRemoved=Els arxius del programa Dolibarr han estat eliminats. No obstant aix tots els seus arxius de dades es troben encara al directori %1. Haur eliminar aquest directori manualment per a una desinstal completa. +ProgramHasBeenRemoved=Els arxius del programa Dolibarr han estat eliminats. No obstant això tots els seus arxius de dades es troben encara al directori %1. Hauràs d'eliminar aquest directori manualment per a una desinstal·lació completa. -DoliWampWillStartApacheMysql=L'installador DoliWamp intentar iniciar o reiniciar Apache i MySQL, aix pot durar des de diversos segons a un minut desprs de la confirmaci. Iniciar la installaci o actualitzaci dels servidors web i bases de dades requerides per Dolibarr? +DoliWampWillStartApacheMysql=L'instal·lador DoliWamp intentarà iniciar o reiniciar Apache i MySQL, això pot durar des de diversos segons a un minut després de la confirmació. Vols iniciar la instal·lació o actualització dels servidors web i de base de dades requerides per Dolibarr? -OldVersionFoundAndMoveInNew=S'ha trobat una versi antiga de base de dades i ha estat moguda per a ser utilitzada per la nova versi de Dolibarr -OldVersionFoundButFailedToMoveInNew=S'ha trobat una versi antiga de base de dades, per no es pot moure per a ser utilitzada per la nova versi de Dolibarr +OldVersionFoundAndMoveInNew=S'ha trobat una versió antiga de base de dades i ha estat moguda per a ser utilitzada per la nova versió de Dolibarr +OldVersionFoundButFailedToMoveInNew=S'ha trobat una versió antiga de base de dades, però no es pot moure per a ser utilitzada per la nova versió de Dolibarr +DLLMissing=La teva instal·lació windows no té el component "Microsoft Visual C++ Redistributable for Visual Studio 2012". Instal·la primer la versió de 32-bit (vcredist_x86.exe) (pots trobar-la a https://www.microsoft.com/en-us/download/) i reiniciar després la instal·lació/actualització de DoliWamp. +ContinueAnyway=Continua igualment (el procés d'instal·lació podria fallar sense aquest prerequisit) diff --git a/build/exe/doliwamp/Languages/MyGerman.isl b/build/exe/doliwamp/Languages/MyGerman.isl index 9c3a1d38bfc..8bfd78dbea2 100644 --- a/build/exe/doliwamp/Languages/MyGerman.isl +++ b/build/exe/doliwamp/Languages/MyGerman.isl @@ -2,7 +2,7 @@ [CustomMessages] NameAndVersion=%1 Version %2 -AdditionalIcons=Zustzliche Symbole: +AdditionalIcons=Zusätzliche Symbole: CreateDesktopIcon=&Desktop-Symbol erstellen CreateQuickLaunchIcon=Symbol in der Schnellstartleiste erstellen ProgramOnTheWeb=%1 im Internet @@ -10,3 +10,38 @@ UninstallProgram=%1 entfernen LaunchProgram=%1 starten AssocFileExtension=&Registriere %1 mit der %2-Dateierweiterung AssocingFileExtension=%1 wird mit der %2-Dateierweiterung registriert... + + +YouWillInstallDoliWamp=Sie installieren DoliWamp (also Dolibarr + alle erforderliche Software von Drittanbietern wie Apache, MySQL und PHP) auf Ihrem Computer. +ThisAssistantInstallOrUpgrade=WARNUNG: Die Verwendung eines auf einem lokalen Computer installierten ERP-CRM kann gefährlich sein: Wenn Ihr Computer ausfällt, können Sie alle Ihre Daten verlieren. Tun Sie dies, wenn Sie bereit sind, das Backup selbst ernsthaft zu verwalten. Wenn nicht, verwenden Sie stattdessen eine Installation in Saas (siehe https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Wenn Sie über technische Kenntnisse verfügen und Apache, MySQL und PHP selbst verwalten möchten, sollten Sie diesen Assistenten nicht verwenden und eine manuelle Installation von Dolibarr auf Ihrem vorhandenen Server mit Apache, MySQL und PHP durchführen. +ButIfYouLook=Aber wenn Sie auf Ihrem lokalen Computer nach einer automatischen Einrichtung suchen, sind Sie auf dem besten Weg ... +DoYouWantToStart=Möchten Sie den Installationsprozess starten? + +TechnicalParameters=technische Parameter +IfFirstInstall=Geben Sie bei der Erstinstallation einige technische Parameter an. Wenn Sie nicht verstehen, sich nicht sicher sind oder ein Upgrade durchführen, belassen Sie einfach die Standardwerte. + +; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS +SMTPServer=SMTP Server (your own or ISP SMTP server, first install only) : +ApachePort=Apache Port (first install only, Standard ist 80) : +MySqlPort=MySQL Port (first install only, Standard ist 3306) : +MySqlPassword=MySQL Server und Datenbank Passwort für root (first install only): + +FailedToDeleteLock=Fehler beim Löschen der Datei %1/www/dolibarr/install.lock. Sie können die Warnung ignorieren, müssen sie jedoch möglicherweise später manuell entfernen, wenn Sie dazu aufgefordert werden. Klicken Sie auf OK, um fortzufahren ... + +PortAlreadyInUse=Port %1 scheint bereits verwendet zu werden. Sie sollten zurückgehen und einen anderen Wert für %2 Port wählen. Auswahl abbrechen und einen anderen Wert wählen ? + +FirefoxDetected=Firefox wurde auf Ihrem Computer erkannt. Möchten Sie ihn als Standardbrowser für Dolibarr verwenden? +ChromeDetected=Chrome wurde auf Ihrem Computer erkannt. Möchten Sie ihn als Standardbrowser für Dolibarr verwenden? +ChooseDefaultBrowser=Bitte wählen Sie Ihren Standardbrowser (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...). Wenn Sie sich nicht sicher sind, klicken Sie einfach auf Öffnen: + +LaunchNow=Starten Sie jetzt Dolibarr + +ProgramHasBeenRemoved=Die Dolibarr-Programmdateien wurden entfernt. Alle Ihre Daten befinden sich jedoch noch im Verzeichnis %1. Für eine vollständige Deinstallation, müssen Sie dieses Verzeichnis manuell entfernen. +DoliWampWillStartApacheMysql=Die DoliWamp-Installation wird nun starten oder Apache und MySQL neu starten. Dies kann nach dieser Bestätigung einige Sekunden bis eine Minute dauern. Wollen Sie mit der Installation oder Aktualisierung des von Dolibarr benötigten Web- und Datenbankservers starten ? + +OldVersionFoundAndMoveInNew=Eine alte Datenbankversion wurde gefunden und verschoben, um von der neuen Dolibarr-Version verwendet zu werden. +OldVersionFoundButFailedToMoveInNew=Eine alte Datenbankversion wurde gefunden, konnte jedoch nicht verschoben werden, um mit der neuen Dolibarr-Version verwendet zu werden. + +DLLMissing=Your Windows installation is missing The "Micrsoft Visual C++ Redistributable for Visual Studio 2012" component. Please install the 32-bit version (vcredist_x86.exe) first (you can find it at https://www.microsoft.com/en-us/download/) and restart DoliWamp installation/upgrade after. +ContinueAnyway=Fahren Sie trotzdem fort (der Installationsvorgang kann ohne diese Voraussetzung fehlschlagen). diff --git a/build/exe/doliwamp/Languages/MySpanish.isl b/build/exe/doliwamp/Languages/MySpanish.isl index 63c0136f351..c31aedf895f 100644 --- a/build/exe/doliwamp/Languages/MySpanish.isl +++ b/build/exe/doliwamp/Languages/MySpanish.isl @@ -1,45 +1,47 @@ [CustomMessages] -NameAndVersion=%1 versin %2 +NameAndVersion=%1 versión %2 AdditionalIcons=Iconos adicionales: CreateDesktopIcon=Crear un icono en el &escritorio -CreateQuickLaunchIcon=Crear un icono de Inicio Rpido +CreateQuickLaunchIcon=Crear un icono de Inicio Rápido ProgramOnTheWeb=%1 en la Web UninstallProgram=Desinstalar %1 LaunchProgram=Ejecutar %1 -AssocFileExtension=&Asociar %1 con la extensin de archivo %2 -AssocingFileExtension=Asociando %1 con la extensin de archivo %2... +AssocFileExtension=&Asociar %1 con la extensión de archivo %2 +AssocingFileExtension=Asociando %1 con la extensión de archivo %2... -YouWillInstallDoliWamp=Va a instalar o actualizar (Apache+Mysql+PHP+Dolibarr) en su ordenador. -ThisAssistantInstallOrUpgrade=Este asistente instala o actualiza Dolibarr ERP-CRM y todos sus requisitos (Apache, Mysql y PHP) optimizados para el uso de Dolibarr. -IfYouHaveTechnicalKnowledge=Si tiene conocimientos tcnicos y necesita usar su Apache, Mysql y PHP con otras aplicaciones aparte de Dolibarr, no debera usar este asistente, debera realizar una instalacin manual de Dolibarr sobre un Apache, Mysql y PHP existente. -ButIfYouLook=Pero si busca una instalacin automtica, se encuentra en el buen camino... -DoYouWantToStart=Quiere iniciar el proceso de instalacin/actualizacin? +YouWillInstallDoliWamp=Va a instalar DoliWamp (Dolibarr y otro software como Apache, Mysql y PHP) en su ordenador. +ThisAssistantInstallOrUpgrade=ALERTA: Utilizar un ERP CRM instalado en un ordenador en local puede ser peligroso: si el ordenador se estropea, puede perder todos sus datos. Hágalo si está preparado para autogestionar sus copias de seguridad. Si no, puede utilizar una instalacion Saas (puede ver https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Si tiene conocimientos técnicos y necesita usar su Apache, Mysql y PHP con otras aplicaciones aparte de Dolibarr, no debería usar este asistente, debería realizar una instalación manual de Dolibarr sobre un Apache, Mysql y PHP existente. +ButIfYouLook=Pero si busca una instalación automática en tu propio ordenador, se encuentra en el buen camino... +DoYouWantToStart=¿Quiere iniciar el proceso de instalación? -TechnicalParameters=Parmetros tcnicos -IfFirstInstall=Si se trata de la primera instalacin, deber especificar algunos parmetros tcnicos. Si no los entiende, no est seguro o va a proceder a una actualizacin, deje los campos con los valores propuestos por defecto. +TechnicalParameters=Parámetros técnicos +IfFirstInstall=Si se trata de la primera instalación, deberá especificar algunos parámetros técnicos. Si no los entiende, no está seguro o va a proceder a una actualización, deje los campos con los valores propuestos por defecto. -; WARNING !!! STRINGS HERE MUST BE LOWER THAN 70 CHARACTERS -SMTPServer=Servidor SMTP (El suyo o el de su ISP, nicamente primera instalacin) : -ApachePort=Puerto Apache (nicamente primera instalacin, normalmente es el 80) : -MySqlPort=Puerto Mysql (nicamente primera instalacin, normalmente es el 3306) : -MySqlPassword=Contrasea del servidor y la base de datos MySQL de root (nicamente primera instalacin): +; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS +SMTPServer=Servidor SMTP (propio o su ISP, sólo primera instalación) : +ApachePort=Puerto Apache (sólo primera instalación, normalmente el 80) : +MySqlPort=Puerto Mysql (sólo primera instalación, normalmente el 3306) : +MySqlPassword=Contraseña del servidor y la base de datos MySQL de root (sólo primera instalación): -FailedToDeleteLock=Error en la eliminacin del archivo %1/www/dolibarr/install.lock. Puede ignorar el aviso pero es posible que deba eliminarlo manualmente ms tarde. En este caso, ser informado. Haga clic en OK para continuar... +FailedToDeleteLock=Error en la eliminación del archivo %1/www/dolibarr/install.lock. Puede ignorar el aviso pero es posible que deba eliminarlo manualmente más tarde. En este caso, será informado. Haga clic en OK para continuar... -PortAlreadyInUse=Parece que el puerto %1 ya esta siendo usado. Se recomienda cancelar, volver atras y especificar otro valor para el puerto %2. Cancelar y escojer otro valor? +PortAlreadyInUse=Parece que el puerto %1 ya esta siendo usado. Se recomienda cancelar, volver atras y especificar otro valor para el puerto %2. ¿Cancelar y escojer otro valor? FirefoxDetected=Se ha detectado Firefox en su ordenador. Desea activarlo por defecto como navegador para Dolibarr ? ChromeDetected=Se ha detectado Chrome en su ordenador. Desea activarlo por defecto como navegador para Dolibarr ? -ChooseDefaultBrowser=Escoja su navegador por defecto. Si no est seguro, simplementa haga clic en Abrir : +ChooseDefaultBrowser=Escoja su navegador por defecto (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...). Si no está seguro, simplementa haga clic en Abrir : LaunchNow=Lanzar ahora Dolibarr -ProgramHasBeenRemoved=Los archivos del programa Dolibarr han sido eliminados. Sin embargo todos sus archivos de datos se encuentran todava en el directorio %1. Deber eliminar este directorio manualmente para una desinstalacin completa. +ProgramHasBeenRemoved=Los archivos del programa Dolibarr han sido eliminados. Sin embargo todos sus archivos de datos se encuentran todavía en el directorio %1. Deberá eliminar este directorio manualmente para una desinstalación completa. -DoliWampWillStartApacheMysql=El instalador DoliWamp intentar iniciar o reiniciar Apache y MySQL, esto puede durar desde varios segundos a un minuto despus de la confirmacin. Iniciar la instalacin o actualizacin de los servidores Web y bases de datos requeridas por Dolibarr? +DoliWampWillStartApacheMysql=El instalador DoliWamp intentará iniciar o reiniciar Apache y MySQL, esto puede durar desde varios segundos a un minuto después de la confirmación. ¿Iniciar la instalación o actualización de los servidores Web y bases de datos requeridas por Dolibarr? -OldVersionFoundAndMoveInNew=Se ha encontrado una versin antigua de base de datos y ha sido movida para ser utilizada por la nueva versin de Dolibarr -OldVersionFoundButFailedToMoveInNew=Se ha encontrado una versin antigua de base de datos, pero no se pudo mover para ser utilizada por la nueva versin de Dolibarr - \ No newline at end of file +OldVersionFoundAndMoveInNew=Se ha encontrado una versión antigua de base de datos y ha sido movida para ser utilizada por la nueva versión de Dolibarr +OldVersionFoundButFailedToMoveInNew=Se ha encontrado una versión antigua de base de datos, pero no se pudo mover para ser utilizada por la nueva versión de Dolibarr + +DLLMissing=Su instalación Windows no tiene el componente "Microsoft Visual C++ Redistributable for Visual Studio 2012". Instale primero la versión de 32-bit (vcredist_x86.exe) (puedes encontrarlo en https://www.microsoft.com/en-us/download/) y reiniciar después la instalación/actualización de DoliWamp. +ContinueAnyway=Continua igualmente (el proceso de instalación podría fallar sin este prerequisito) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index c06dc51aec1..24b32dcff91 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -19,7 +19,7 @@ use Term::ANSIColor; # Change this to defined target for option 98 and 99 $PROJECT="dolibarr"; $PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr"; -$PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/dolibarr.org/httpdocs/files"; +$PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/asso.dolibarr.org/dolibarr_documents/website/www.dolibarr.org/files"; #@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages diff --git a/dev/resources/iso-normes/Accountancy-format_Winfic-eWinfic-WinSisCompta.pdf b/dev/resources/iso-normes/Accountancy-format_Winfic-eWinfic-WinSisCompta.pdf new file mode 100644 index 00000000000..2fbaad04699 Binary files /dev/null and b/dev/resources/iso-normes/Accountancy-format_Winfic-eWinfic-WinSisCompta.pdf differ diff --git a/dev/setup/codesniffer/README b/dev/setup/codesniffer/README index 8a68d8a1140..087fb318f6f 100644 --- a/dev/setup/codesniffer/README +++ b/dev/setup/codesniffer/README @@ -6,6 +6,10 @@ This directory contains ruleset files to use to develop Dolibarr EPR & CRM. To install/upgrade phpcs: > sudo pear upgrade PHP_CodeSniffer +To run phpcs: +> cd dolibarrgitrepo +> phpcs --standard=dev/setup/codesniffer/ruleset.xml --extensions=php --parallel=8 . + Note with Eclipse: You must setup the PTI plugin of Eclipse into PHPCodeSniffer menu with: * tab value to 4 * path of code sniffer standard to dev/codesniffer diff --git a/dev/setup/codesniffer/ruleset.xml b/dev/setup/codesniffer/ruleset.xml index 10d6e29bbe2..e726df6db7c 100644 --- a/dev/setup/codesniffer/ruleset.xml +++ b/dev/setup/codesniffer/ruleset.xml @@ -23,25 +23,21 @@ - - 0 - + - + + - - - - + @@ -70,23 +66,12 @@ 0 - - 0 - - + - - - @@ -106,32 +91,39 @@ + + + + 0 - - + + + - - 0 - - - 0 - - @@ -141,7 +133,7 @@ - + @@ -179,7 +171,6 @@ - 0 @@ -196,6 +187,13 @@ + + + + + @@ -205,13 +203,10 @@ - - 0 - - - 0 - - + + + + 0 @@ -223,7 +218,6 @@ - 0 @@ -235,23 +229,16 @@ + - - - - - - 0 - + - - 0 - + 0 @@ -260,66 +247,32 @@ 0 - 0 - 0 - 0 - - - - - - 5 - - - - + 0 - 0 - + - - 0 - - - - 0 - + 0 @@ -352,19 +305,21 @@ - - + 0 - + + 0 + - 0 + 0 - + + 0 @@ -373,27 +328,25 @@ - + 0 - + + 0 - - 0 - + + + - 0 + 0 - - 0 - - - 0 - + + + @@ -402,26 +355,26 @@ 0 + - 0 + 0 - + 0 + - - 0 - + 0 0 - + 0 @@ -432,16 +385,16 @@ + + 0 + - - - - + 0 @@ -452,7 +405,6 @@ 0 - 0 @@ -462,15 +414,17 @@ - - - - - + + + + + + + diff --git a/dev/tools/test/testdiv.php b/dev/tools/test/testdiv.php deleted file mode 100644 index 438df80b69e..00000000000 --- a/dev/tools/test/testdiv.php +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - -Login Dolibarr 3.4.0-alpha - - - - - - - - - - - -
- - - -
- - - - diff --git a/doc/images/background_dolibarr.jpg b/doc/images/background_dolibarr.jpg new file mode 100644 index 00000000000..6c4cc11460d Binary files /dev/null and b/doc/images/background_dolibarr.jpg differ diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index f735a0a0cfc..cf00519e9d7 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -161,7 +161,7 @@ if (empty($reshook)) if ($action == 'disable') { if ($accounting->fetch($id)) { $mode = GETPOST('mode', 'int'); - $result = $accounting->account_desactivate($id, $mode); + $result = $accounting->accountDeactivate($id, $mode); } $action = 'update'; @@ -488,11 +488,11 @@ if ($resql) // Action print ''; if ($user->rights->accounting->chartofaccount) { - print ''; + print ''; print img_edit(); print ''; print ' '; - print ''; + print ''; print img_delete(); print ''; } diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index 0ab42d582d1..b31cd23dfa4 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -696,7 +696,7 @@ if ($id) print ""; // Modify link - if ($canbemodified) print ''.img_edit().''; + if ($canbemodified) print ''.img_edit().''; else print ' '; // Delete link diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index 500a0d3cbba..1b2733e2045 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -408,7 +408,7 @@ llxHeader('', $langs->trans('DictionaryAccountancyCategory')); $titre = $langs->trans($tablib[$id]); $linkback = ''; -$titlepicto = 'title_setup'; +$titlepicto = 'title_accountancy'; print load_fiche_titre($titre, $linkback, $titlepicto); @@ -806,7 +806,7 @@ if ($id) print ""; // Modify link - if ($canbemodified) print ''.img_edit().''; + if ($canbemodified) print ''.img_edit().''; else print ' '; // Delete link diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 02963557222..006db08fe9c 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -236,6 +236,7 @@ if (!empty($user->admin)) } print ''; + /* Set this option as a hidden option but keep it for some needs. print ''; print ''.$langs->trans("ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL").''; if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) { @@ -248,6 +249,7 @@ if (!empty($user->admin)) print ''; } print ''; + */ print ''; print ''.$langs->trans("BANK_DISABLE_DIRECT_INPUT").''; diff --git a/htdocs/accountancy/admin/journals_list.php b/htdocs/accountancy/admin/journals_list.php index eccb7450594..e34ce8094dd 100644 --- a/htdocs/accountancy/admin/journals_list.php +++ b/htdocs/accountancy/admin/journals_list.php @@ -657,7 +657,7 @@ if ($id) print ""; // Modify link - if ($canbemodified) print ''.img_edit().''; + if ($canbemodified) print ''.img_edit().''; else print ' '; // Delete link diff --git a/htdocs/accountancy/admin/productaccount.php b/htdocs/accountancy/admin/productaccount.php index c6c76a57621..e32e47b169d 100644 --- a/htdocs/accountancy/admin/productaccount.php +++ b/htdocs/accountancy/admin/productaccount.php @@ -362,7 +362,6 @@ if ($result) print ''; print ''; print ''; - print ''; print load_fiche_titre($langs->trans("ProductsBinding"), '', 'title_accountancy'); print '
'; @@ -412,7 +411,7 @@ if ($result) //print '
'.$buttonsave.'
'; $texte = $langs->trans("ListOfProductsServices"); - print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $buttonsave, $num, $nbtotalofrecords, '', 0, '', '', $limit); + print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $buttonsave, $num, $nbtotalofrecords, '', 0, '', '', $limit, 0, 0, 1); print '
'; print ''; diff --git a/htdocs/accountancy/bookkeeping/balance.php b/htdocs/accountancy/bookkeeping/balance.php index b2a25b00ce2..4de2be6fcbb 100644 --- a/htdocs/accountancy/bookkeeping/balance.php +++ b/htdocs/accountancy/bookkeeping/balance.php @@ -55,7 +55,7 @@ $pagenext = $page + 1; //if (! $sortfield) $sortfield="p.date_fin"; //if (! $sortorder) $sortorder="DESC"; - +$show_subgroup = GETPOST('show_subgroup', 'alpha'); $search_date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int')); $search_date_end = dol_mktime(23, 59, 59, GETPOST('date_endmonth', 'int'), GETPOST('date_endday', 'int'), GETPOST('date_endyear', 'int')); @@ -130,10 +130,11 @@ if (!empty($search_accountancy_code_end)) { if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers { - $search_accountancy_code_start = ''; - $search_accountancy_code_end = ''; + $show_subgroup = ''; $search_date_start = ''; $search_date_end = ''; + $search_accountancy_code_start = ''; + $search_accountancy_code_end = ''; $filter = array(); } @@ -223,6 +224,12 @@ if ($action != 'export_csv') $moreforfilter .= $form->selectDate($search_date_start ? $search_date_start : -1, 'date_start', 0, 0, 1, '', 1, 0); $moreforfilter .= $langs->trans('DateEnd').': '; $moreforfilter .= $form->selectDate($search_date_end ? $search_date_end : -1, 'date_end', 0, 0, 1, '', 1, 0); + + $moreforfilter .= ' - '; + $moreforfilter .= $langs->trans('ShowSubtotalByGroup').': '; + $moreforfilter .= ''; + + $moreforfilter .= ''; if (!empty($moreforfilter)) { @@ -289,26 +296,31 @@ if ($action != 'export_csv') } print ''; - // Permet d'afficher le compte comptable - if (empty($displayed_account) || $root_account_description != $displayed_account) + if (!empty($show_subgroup)) { - // Affiche un Sous-Total par compte comptable - if ($displayed_account != "") { - print ''; - print "\n"; + // Show accounting account + if (empty($displayed_account) || $root_account_description != $displayed_account) { + // Show subtotal per accounting account + if ($displayed_account != "") { + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + print ''; + } + + // Show first line of a break + print ''; + print ''; print ''; + + $displayed_account = $root_account_description; + $sous_total_debit = 0; + $sous_total_credit = 0; } - - // Show first line of a break - print ''; - print ''; - print ''; - - $displayed_account = $root_account_description; - $sous_total_debit = 0; - $sous_total_credit = 0; } - // $object->get_compte_racine($line->numero_compte); print ''; @@ -326,12 +338,15 @@ if ($action != 'export_csv') $sous_total_credit += $line->credit; } - print ''; - print "\n"; - print ''; + if (!empty($show_subgroup)) + { + print ''; + print "\n"; + print ''; + } print ''; - print "\n"; + print "\n"; print ''; print "
'.$langs->trans("SubTotal").':'.price($sous_total_debit).''.price($sous_total_credit).''.price(price2num($sous_total_credit - $sous_total_debit)).' 
'.$langs->trans("SubTotal").':'.price($sous_total_debit).''.price($sous_total_credit).''.price(price2num($sous_total_credit - $sous_total_debit)).'
'.$line->numero_compte.($root_account_description ? ' - '.$root_account_description : '').'
'.$line->numero_compte.($root_account_description ? ' - '.$root_account_description : '').'
'.length_accountg($line->numero_compte).'
'.$langs->trans("SubTotal").':'.price($sous_total_debit).''.price($sous_total_credit).''.price(price2num($sous_total_debit - $sous_total_credit)).' 
'.$langs->trans("SubTotal").':'.price($sous_total_debit).''.price($sous_total_credit).''.price(price2num($sous_total_debit - $sous_total_credit)).'
'.$langs->trans("AccountBalance").':'.price($total_debit).''.price($total_credit).''.price(price2num($total_debit - $total_credit)).' 
"; diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index 065a72a5257..2889fbf4ef1 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -1006,7 +1006,7 @@ while ($i < min($num, $limit)) // Amount debit if (!empty($arrayfields['t.debit']['checked'])) { - print ''.($line->debit ? price($line->debit) : '').''; + print ''.($line->debit != 0 ? price($line->debit) : '').''; if (!$i) $totalarray['nbfield']++; if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totaldebit'; $totalarray['val']['totaldebit'] += $line->debit; @@ -1015,7 +1015,7 @@ while ($i < min($num, $limit)) // Amount credit if (!empty($arrayfields['t.credit']['checked'])) { - print ''.($line->credit ? price($line->credit) : '').''; + print ''.($line->credit != 0 ? price($line->credit) : '').''; if (!$i) $totalarray['nbfield']++; if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalcredit'; $totalarray['val']['totalcredit'] += $line->credit; @@ -1039,7 +1039,7 @@ while ($i < min($num, $limit)) } // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; diff --git a/htdocs/accountancy/bookkeeping/listbyaccount.php b/htdocs/accountancy/bookkeeping/listbyaccount.php index 78f29e97595..25f664d955e 100644 --- a/htdocs/accountancy/bookkeeping/listbyaccount.php +++ b/htdocs/accountancy/bookkeeping/listbyaccount.php @@ -57,6 +57,12 @@ $search_direction = GETPOST('search_direction', 'alpha'); $search_ledger_code = GETPOST('search_ledger_code', 'alpha'); $search_debit = GETPOST('search_debit', 'alpha'); $search_credit = GETPOST('search_credit', 'alpha'); +$search_lettering_code = GETPOST('search_lettering_code', 'alpha'); +$search_not_reconciled = GETPOST('search_reconciled_option', 'alpha'); + +if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_delmvt")) { + $action = 'delbookkeepingyear'; +} // Load variable for pagination $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION); @@ -70,6 +76,13 @@ $pagenext = $page + 1; if ($sortorder == "") $sortorder = "ASC"; if ($sortfield == "") $sortfield = "t.doc_date,t.rowid"; +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$object = new BookKeeping($db); +$hookmanager->initHooks(array('bookkeepingbyaccountlist')); + +$formaccounting = new FormAccounting($db); +$form = new Form($db); + if (empty($search_date_start) && empty($search_date_end) && GETPOSTISSET('search_date_startday') && GETPOSTISSET('search_date_startmonth') && GETPOSTISSET('search_date_starthour')) { $sql = "SELECT date_start, date_end from ".MAIN_DB_PREFIX."accounting_fiscalyear "; $sql .= " where date_start < '".$db->idate(dol_now())."' and date_end > '".$db->idate(dol_now())."'"; @@ -96,89 +109,167 @@ if (empty($search_date_start) && empty($search_date_end) && GETPOSTISSET('search } } -$object = new BookKeeping($db); +$arrayfields = array( + // 't.subledger_account'=>array('label'=>$langs->trans("SubledgerAccount"), 'checked'=>1), + 't.code_journal'=>array('label'=>$langs->trans("Codejournal"), 'checked'=>1), + 't.piece_num'=>array('label'=>$langs->trans("TransactionNumShort"), 'checked'=>1), + 't.doc_date'=>array('label'=>$langs->trans("Docdate"), 'checked'=>1), + 't.doc_ref'=>array('label'=>$langs->trans("Piece"), 'checked'=>1), + 't.label_operation'=>array('label'=>$langs->trans("Label"), 'checked'=>1), + 't.debit'=>array('label'=>$langs->trans("Debit"), 'checked'=>1), + 't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1), + 't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1), +); + +if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.lettering_code']); /* * Action */ -if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers +if (GETPOST('cancel', 'alpha')) { $action = 'list'; $massaction = ''; } +if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; } + +$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)) { - $search_doc_date = ''; - $search_accountancy_code = ''; - $search_accountancy_code_start = ''; - $search_accountancy_code_end = ''; - $search_label_account = ''; - $search_doc_ref = ''; - $search_label_operation = ''; - $search_direction = ''; - $search_ledger_code = ''; - $search_date_start = ''; - $search_date_end = ''; - $search_date_startyear = ''; - $search_date_startmonth = ''; - $search_date_startday = ''; - $search_date_endyear = ''; - $search_date_endmonth = ''; - $search_date_endday = ''; - $search_debit = ''; - $search_credit = ''; + include DOL_DOCUMENT_ROOT . '/core/actions_changeselectedfields.inc.php'; + + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers + { + $search_doc_date = ''; + $search_accountancy_code = ''; + $search_accountancy_code_start = ''; + $search_accountancy_code_end = ''; + $search_label_account = ''; + $search_doc_ref = ''; + $search_label_operation = ''; + $search_direction = ''; + $search_ledger_code = ''; + $search_date_start = ''; + $search_date_end = ''; + $search_date_startyear = ''; + $search_date_startmonth = ''; + $search_date_startday = ''; + $search_date_endyear = ''; + $search_date_endmonth = ''; + $search_date_endday = ''; + $search_debit = ''; + $search_credit = ''; + $search_lettering_code = ''; + $search_not_reconciled = ''; + } + + // Must be after the remove filter action, before the export. + $param = ''; + $filter = array(); + + if (!empty($search_date_start)) { + $filter['t.doc_date>='] = $search_date_start; + $param .= '&search_date_startmonth=' . GETPOST('search_date_startmonth', 'int') . '&search_date_startday=' . GETPOST('search_date_startday', 'int') . '&search_date_startyear=' . GETPOST('search_date_startyear', 'int'); + } + if (!empty($search_date_end)) { + $filter['t.doc_date<='] = $search_date_end; + $param .= '&search_date_endmonth=' . GETPOST('search_date_endmonth', 'int') . '&search_date_endday=' . GETPOST('search_date_endday', 'int') . '&search_date_endyear=' . GETPOST('search_date_endyear', 'int'); + } + if (!empty($search_doc_date)) { + $filter['t.doc_date'] = $search_doc_date; + $param .= '&doc_datemonth=' . GETPOST('doc_datemonth', 'int') . '&doc_dateday=' . GETPOST('doc_dateday', 'int') . '&doc_dateyear=' . GETPOST('doc_dateyear', 'int'); + } + if (!empty($search_accountancy_code_start)) { + $filter['t.numero_compte>='] = $search_accountancy_code_start; + $param .= '&search_accountancy_code_start=' . urlencode($search_accountancy_code_start); + } + if (!empty($search_accountancy_code_end)) { + $filter['t.numero_compte<='] = $search_accountancy_code_end; + $param .= '&search_accountancy_code_end=' . urlencode($search_accountancy_code_end); + } + if (!empty($search_label_account)) { + $filter['t.label_compte'] = $search_label_account; + $param .= '&search_label_compte=' . urlencode($search_label_account); + } + if (!empty($search_doc_ref)) { + $filter['t.doc_ref'] = $search_doc_ref; + $param .= '&search_doc_ref=' . urlencode($search_doc_ref); + } + if (!empty($search_label_operation)) { + $filter['t.label_operation'] = $search_label_operation; + $param .= '&search_label_operation=' . urlencode($search_label_operation); + } + if (!empty($search_direction)) { + $filter['t.sens'] = $search_direction; + $param .= '&search_direction=' . urlencode($search_direction); + } + if (!empty($search_ledger_code)) { + $filter['t.code_journal'] = $search_ledger_code; + $param .= '&search_ledger_code=' . urlencode($search_ledger_code); + } + if (!empty($search_debit)) { + $filter['t.debit'] = $search_debit; + $param .= '&search_debit=' . urlencode($search_debit); + } + if (!empty($search_credit)) { + $filter['t.credit'] = $search_credit; + $param .= '&search_credit=' . urlencode($search_credit); + } + if (!empty($search_lettering_code)) { + $filter['t.lettering_code'] = $search_lettering_code; + $param .= '&search_lettering_code='.urlencode($search_lettering_code); + } + if (!empty($search_not_reconciled)) { + $filter['t.reconciled_option'] = $search_not_reconciled; + $param .= '&search_not_reconciled='.urlencode($search_not_reconciled); + } } -// Must be after the remove filter action, before the export. -$param = ''; -$filter = array(); +if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) { + $import_key = GETPOST('importkey', 'alpha'); -if (!empty($search_date_start)) { - $filter['t.doc_date>='] = $search_date_start; - $param .= '&search_date_startmonth='.GETPOST('search_date_startmonth', 'int').'&search_date_startday='.GETPOST('search_date_startday', 'int').'&search_date_startyear='.GETPOST('search_date_startyear', 'int'); -} -if (!empty($search_date_end)) { - $filter['t.doc_date<='] = $search_date_end; - $param .= '&search_date_endmonth='.GETPOST('search_date_endmonth', 'int').'&search_date_endday='.GETPOST('search_date_endday', 'int').'&search_date_endyear='.GETPOST('search_date_endyear', 'int'); -} -if (!empty($search_doc_date)) { - $filter['t.doc_date'] = $search_doc_date; - $param .= '&doc_datemonth='.GETPOST('doc_datemonth', 'int').'&doc_dateday='.GETPOST('doc_dateday', 'int').'&doc_dateyear='.GETPOST('doc_dateyear', 'int'); -} -if (!empty($search_accountancy_code_start)) { - $filter['t.numero_compte>='] = $search_accountancy_code_start; - $param .= '&search_accountancy_code_start='.urlencode($search_accountancy_code_start); -} -if (!empty($search_accountancy_code_end)) { - $filter['t.numero_compte<='] = $search_accountancy_code_end; - $param .= '&search_accountancy_code_end='.urlencode($search_accountancy_code_end); -} -if (!empty($search_label_account)) { - $filter['t.label_compte'] = $search_label_account; - $param .= '&search_label_compte='.urlencode($search_label_account); -} -if (!empty($search_doc_ref)) { - $filter['t.doc_ref'] = $search_doc_ref; - $param .= '&search_doc_ref='.urlencode($search_doc_ref); -} -if (!empty($search_label_operation)) { - $filter['t.label_operation'] = $search_label_operation; - $param .= '&search_label_operation='.urlencode($search_label_operation); -} -if (!empty($search_direction)) { - $filter['t.sens'] = $search_direction; - $param .= '&search_direction='.urlencode($search_direction); -} -if (!empty($search_ledger_code)) { - $filter['t.code_journal'] = $search_ledger_code; - $param .= '&search_ledger_code='.urlencode($search_ledger_code); -} -if (!empty($search_debit)) { - $filter['t.debit'] = $search_debit; - $param .= '&search_debit='.urlencode($search_debit); -} -if (!empty($search_credit)) { - $filter['t.credit'] = $search_credit; - $param .= '&search_credit='.urlencode($search_credit); -} + if (!empty($import_key)) { + $result = $object->deleteByImportkey($import_key); + if ($result < 0) { + setEventMessages($object->error, $object->errors, 'errors'); + } + // Make a redirect to avoid to launch the delete later after a back button + header("Location: listbyaccount.php".($param ? '?'.$param : '')); + exit; + } +} +if ($action == 'delbookkeepingyearconfirm' && $user->rights->accounting->mouvements->supprimer_tous) { + $delmonth = GETPOST('delmonth', 'int'); + $delyear = GETPOST('delyear', 'int'); + if ($delyear == -1) { + $delyear = 0; + } + $deljournal = GETPOST('deljournal', 'alpha'); + if ($deljournal == -1) { + $deljournal = 0; + } -if ($action == 'delmouvconfirm') { + if (!empty($delmonth) || !empty($delyear) || !empty($deljournal)) + { + $result = $object->deleteByYearAndJournal($delyear, $deljournal, '', ($delmonth > 0 ? $delmonth : 0)); + if ($result < 0) { + setEventMessages($object->error, $object->errors, 'errors'); + } + else + { + setEventMessages("RecordDeleted", null, 'mesgs'); + } + + // Make a redirect to avoid to launch the delete later after a back button + header("Location: listbyaccount.php".($param ? '?'.$param : '')); + exit; + } + else + { + setEventMessages("NoRecordDeleted", null, 'warnings'); + } +} +if ($action == 'delmouvconfirm' && $user->rights->accounting->mouvements->supprimer) { $mvt_num = GETPOST('mvt_num', 'int'); if (!empty($mvt_num)) { @@ -186,8 +277,13 @@ if ($action == 'delmouvconfirm') { if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); } - Header("Location: listbyaccount.php"); - exit(); + else + { + setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs'); + } + + header("Location: listbyaccount.php?noreset=1".($param ? '&'.$param : '')); + exit; } } @@ -229,22 +325,42 @@ if ($action == 'delmouv') { } if ($action == 'delbookkeepingyear') { $form_question = array(); - $delyear = GETPOST('delyear'); + $delyear = GETPOST('delyear', 'int'); + $deljournal = GETPOST('deljournal', 'alpha'); if (empty($delyear)) { $delyear = dol_print_date(dol_now(), '%Y'); } + $month_array = array(); + for ($i = 1; $i <= 12; $i++) { + $month_array[$i] = $langs->trans("Month".sprintf("%02d", $i)); + } $year_array = $formaccounting->selectyear_accountancy_bookkepping($delyear, 'delyear', 0, 'array'); + $journal_array = $formaccounting->select_journal($deljournal, 'deljournal', '', 1, 1, 1, '', 0, 1); + $form_question['delmonth'] = array( + 'name' => 'delmonth', + 'type' => 'select', + 'label' => $langs->trans('DelMonth'), + 'values' => $month_array, + 'default' => '' + ); $form_question['delyear'] = array( - 'name' => 'delyear', - 'type' => 'select', - 'label' => $langs->trans('DelYear'), - 'values' => $year_array, - 'default' => $delyear + 'name' => 'delyear', + 'type' => 'select', + 'label' => $langs->trans('DelYear'), + 'values' => $year_array, + 'default' => $delyear + ); + $form_question['deljournal'] = array( + 'name' => 'deljournal', + 'type' => 'other', // We don't use select here, the journal_array is already a select html component + 'label' => $langs->trans('DelJournal'), + 'value' => $journal_array, + 'default' => $deljournal ); - $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delbookkeepingyearconfirm', $form_question, 0, 1, 250); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delbookkeepingyearconfirm', $form_question, '', 1, 300); print $formconfirm; } @@ -267,53 +383,115 @@ if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($l print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $result, $nbtotalofrecords, 'title_accountancy', 0, $viewflat.$newcardbutton, '', $limit); +$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; +$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +if ($massactionbutton) $selectedfields .= $form->showCheckAddButtons('checkforselect', 1); + // Reverse sort order if (preg_match('/^asc/i', $sortorder)) $sortorder = "asc"; else $sortorder = "desc"; -print '
'; -print ''; +$moreforfilter = ''; -print ''; -print ''; -print ''; + +print '
'; +print '
'; -print '
'; -print $langs->trans('From').' '; -print $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, 'maxwidth200'); +// Accountancy account +$moreforfilter .= '
'; +$moreforfilter .= $langs->trans('AccountAccounting').': '; +$moreforfilter .= '
'; +$moreforfilter .= $langs->trans('From').' '; +$moreforfilter .= $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, 'maxwidth200'); +$moreforfilter .= $langs->trans('to').' '; +$moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, 'maxwidth200'); +$moreforfilter .= '
'; +$moreforfilter .= '
'; + +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook +if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint; +else $moreforfilter = $hookmanager->resPrint; + +print '
'; +print $moreforfilter; print '
'; -print '
'; -print $langs->trans('to').' '; -print $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, 'maxwidth200'); -print '
'; -print '
'; + +// Filters lines +print ''; + +// Code journal +if (!empty($arrayfields['t.code_journal']['checked'])) { + print ''; +} +// Date document +if (!empty($arrayfields['t.doc_date']['checked'])) { + print ''; +} +// Movement number +if (!empty($arrayfields['t.piece_num']['checked'])) +{ + print ''; +} +// Ref document +if (!empty($arrayfields['t.doc_ref']['checked'])) { + print ''; +} +// Label operation +if (!empty($arrayfields['t.label_operation']['checked'])) { + print ''; +} +// Debit +if (!empty($arrayfields['t.debit']['checked'])) { + print ''; +} +// Credit +if (!empty($arrayfields['t.credit']['checked'])) { + print ''; +} +// Lettering code +if (!empty($arrayfields['t.lettering_code']['checked'])) +{ + print ''; +} + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +// Action column print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; +print "\n"; print ''; -print_liste_field_titre("AccountAccountingShort", $_SERVER['PHP_SELF']); -print_liste_field_titre("TransactionNumShort", $_SERVER['PHP_SELF'], "t.piece_num", "", $param, '', $sortfield, $sortorder, 'right '); -print_liste_field_titre("Docdate", $_SERVER['PHP_SELF'], "t.doc_date", "", $param, '', $sortfield, $sortorder, 'center '); -print_liste_field_titre("Piece", $_SERVER['PHP_SELF'], "t.doc_ref", "", $param, "", $sortfield, $sortorder); -print_liste_field_titre("Label"); -print_liste_field_titre("Debit", $_SERVER['PHP_SELF'], "t.debit", "", $param, '', $sortfield, $sortorder, 'right '); -print_liste_field_titre("Credit", $_SERVER['PHP_SELF'], "t.credit", "", $param, '', $sortfield, $sortorder, 'right '); -print_liste_field_titre("Codejournal", $_SERVER['PHP_SELF'], "t.code_journal", "", $param, '', $sortfield, $sortorder, 'center '); -print_liste_field_titre('', $_SERVER["PHP_SELF"], "", $param, "", 'width="60"', $sortfield, $sortorder, 'center '); +if (!empty($arrayfields['t.code_journal']['checked'])) print_liste_field_titre($arrayfields['t.code_journal']['label'], $_SERVER['PHP_SELF'], "t.code_journal", "", $param, '', $sortfield, $sortorder, 'center '); +if (!empty($arrayfields['t.doc_date']['checked'])) print_liste_field_titre($arrayfields['t.doc_date']['label'], $_SERVER['PHP_SELF'], "t.doc_date", "", $param, '', $sortfield, $sortorder, 'center '); +if (!empty($arrayfields['t.piece_num']['checked'])) print_liste_field_titre($arrayfields['t.piece_num']['label'], $_SERVER['PHP_SELF'], "t.piece_num", "", $param, '', $sortfield, $sortorder); +if (!empty($arrayfields['t.doc_ref']['checked'])) print_liste_field_titre($arrayfields['t.doc_ref']['label'], $_SERVER['PHP_SELF'], "t.doc_ref", "", $param, "", $sortfield, $sortorder); +if (!empty($arrayfields['t.label_operation']['checked'])) print_liste_field_titre($arrayfields['t.label_operation']['label'], $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder); +if (!empty($arrayfields['t.debit']['checked'])) print_liste_field_titre($arrayfields['t.debit']['label'], $_SERVER['PHP_SELF'], "t.debit", "", $param, '', $sortfield, $sortorder, 'right '); +if (!empty($arrayfields['t.credit']['checked'])) print_liste_field_titre($arrayfields['t.credit']['label'], $_SERVER['PHP_SELF'], "t.credit", "", $param, '', $sortfield, $sortorder, 'right '); +if (!empty($arrayfields['t.lettering_code']['checked'])) print_liste_field_titre($arrayfields['t.lettering_code']['label'], $_SERVER['PHP_SELF'], "t.lettering_code", "", $param, '', $sortfield, $sortorder, 'center '); +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch '); print "\n"; @@ -323,7 +501,10 @@ $sous_total_debit = 0; $sous_total_credit = 0; $displayed_account_number = null; // Start with undefined to be able to distinguish with empty +// Loop on record +// -------------------------------------------------------------------- $i = 0; +$totalarray = array(); while ($i < min($num, $limit)) { $line = $object->lines[$i]; @@ -336,18 +517,41 @@ while ($i < min($num, $limit)) // Is it a break ? if ($accountg != $displayed_account_number || !isset($displayed_account_number)) { - // Affiche un Sous-Total par compte comptable + $colspan = $totalarray['nbfield'] - 3; + $colspanend = $totalarray['nbfield'] - 7; + // Show a subtotal by accounting account if (isset($displayed_account_number)) { - print ''; - print "\n"; - print "\n"; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + // Show balance of last shown account + $balance = $sous_total_debit - $sous_total_credit; + print ''; + print ''; + if ($balance > 0 ) + { + print ''; + print ''; + } + else + { + print ''; + print ''; + } + print ''; print ''; } // Show the break account - $colspan = 9; print ""; - print ''; @@ -357,72 +561,212 @@ while ($i < min($num, $limit)) //if (empty($displayed_account_number)) $displayed_account_number='-'; $sous_total_debit = 0; $sous_total_credit = 0; + + $colspan = 0; } print ''; - print ''; - print ''; - print ''; - // TODO Add a link according to doc_type and fk_doc - print ''; + if (!$i) $totalarray['nbfield']++; + } + + // Document date + if (!empty($arrayfields['t.doc_date']['checked'])) + { + print ''; + if (!$i) $totalarray['nbfield']++; + } + + // Piece number + if (!empty($arrayfields['t.piece_num']['checked'])) + { + print ''; + if (!$i) $totalarray['nbfield']++; + } + + // Document ref + if (!empty($arrayfields['t.doc_ref']['checked'])) + { + if ($line->doc_type == 'customer_invoice') + { + $langs->loadLangs(array('bills')); + + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $objectstatic = new Facture($db); + $objectstatic->fetch($line->fk_doc); + //$modulepart = 'facture'; + + $filename = dol_sanitizeFileName($line->doc_ref); + $filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref); + $urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id; + $documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); + } + elseif ($line->doc_type == 'supplier_invoice') + { + $langs->loadLangs(array('bills')); + + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; + $objectstatic = new FactureFournisseur($db); + $objectstatic->fetch($line->fk_doc); + //$modulepart = 'invoice_supplier'; + + $filename = dol_sanitizeFileName($line->doc_ref); + $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); + $subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref); + $documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir); + } + elseif ($line->doc_type == 'expense_report') + { + $langs->loadLangs(array('trips')); + + require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; + $objectstatic = new ExpenseReport($db); + $objectstatic->fetch($line->fk_doc); + //$modulepart = 'expensereport'; + + $filename = dol_sanitizeFileName($line->doc_ref); + $filedir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($line->doc_ref); + $urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id; + $documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); + } + else + { + // Other type + } + + print '\n"; + if (!$i) $totalarray['nbfield']++; + } + + // Label operation + if (!empty($arrayfields['t.label_operation']['checked'])) { + // Affiche un lien vers la facture client/fournisseur + $doc_ref = preg_replace('/\(.*\)/', '', $line->doc_ref); + print strlen(length_accounta($line->subledger_account)) == 0 ? '' : ''; + if (!$i) $totalarray['nbfield']++; + } + + // Amount debit + if (!empty($arrayfields['t.debit']['checked'])) + { + print ''; + if (!$i) $totalarray['nbfield']++; + if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totaldebit'; + $totalarray['val']['totaldebit'] += $line->debit; + } + + // Amount credit + if (!empty($arrayfields['t.credit']['checked'])) { + print ''; + if (!$i) $totalarray['nbfield']++; + if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalcredit'; + $totalarray['val']['totalcredit'] += $line->credit; + } + + // Lettering code + if (!empty($arrayfields['t.lettering_code']['checked'])) + { + print ''; + if (!$i) $totalarray['nbfield']++; + } + + // Fields from hook + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + // Action column + print ''; - - // Affiche un lien vers la facture client/fournisseur - $doc_ref = preg_replace('/\(.*\)/', '', $line->doc_ref); - print strlen(length_accounta($line->subledger_account)) == 0 ? '' : ''; - - - print ''; - print ''; - - $accountingjournal = new AccountingJournal($db); - $result = $accountingjournal->fetch('', $line->code_journal); - $journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $line->code_journal); - print ''; - - print ''; - print "\n"; + if (!$i) $totalarray['nbfield']++; // Comptabilise le sous-total $sous_total_debit += $line->debit; $sous_total_credit += $line->credit; + print "\n"; + $i++; } // Show sub-total of last shown account +$colspan = $totalarray['nbfield'] - 3; +$colspanend = $totalarray['nbfield'] - 8; print ''; -print ''; -print ''; -print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +// Show balance of last shown account +$balance = $sous_total_debit - $sous_total_credit; +print ''; +print ''; +if ($balance > 0 ) +{ + print ''; + print ''; +} +else +{ + print ''; + print ''; +} +print ''; print ''; +// Show total line +include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php'; -// Show total -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; print "
'; + print '
'; + print $langs->trans('From') . ': '; + print $form->selectDate($search_date_start, 'search_date_start', 0, 0, 1); + print '
'; + print '
'; + print $langs->trans('to') . ': '; + print $form->selectDate($search_date_end, 'search_date_end', 0, 0, 1); + print '
'; + print '
'; + print ''; + print '
'.$langs->trans("NotReconciled").''; + print '
'; -print $langs->trans('From').': '; -print $form->selectDate($search_date_start, 'search_date_start', 0, 0, 1); -print '
'; -print $langs->trans('to').': '; -print $form->selectDate($search_date_end, 'search_date_end', 0, 0, 1); -print '
'; -$searchpicto = $form->showFilterAndCheckAddButtons(0); +$searchpicto = $form->showFilterButtons(); print $searchpicto; print '
'.$langs->trans("SubTotal").':'.price($sous_total_debit).''.price($sous_total_credit).'  
'.$langs->trans("TotalForAccount").' '.length_accountg($displayed_account_number).':'.price($sous_total_debit).''.price($sous_total_credit).'
'.$langs->trans("Balance").':'; + print price($sous_total_debit - $sous_total_credit); + print ''; + print price($sous_total_credit - $sous_total_debit); + print '
'; + print ''; if ($line->numero_compte != "" && $line->numero_compte != '-1') print length_accountg($line->numero_compte).' : '.$object->get_compte_desc($line->numero_compte); else print ''.$langs->trans("Unknown").''; print '
 '.$line->piece_num.''.dol_print_date($line->doc_date, 'day').''; - //if ($line->doc_type == 'supplier_invoice') - //if ($line->doc_type == 'customer_invoice') - print $line->doc_ref; + // Journal code + if (!empty($arrayfields['t.code_journal']['checked'])) + { + $accountingjournal = new AccountingJournal($db); + $result = $accountingjournal->fetch('', $line->code_journal); + $journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $line->code_journal); + print ''.$journaltoshow.''.dol_print_date($line->doc_date, 'day').''; + $object->id = $line->id; + $object->piece_num = $line->piece_num; + print $object->getNomUrl(1, '', 0, '', 1); + print ''; + + print ''; + // Picto + Ref + print '
'; + + if ($line->doc_type == 'customer_invoice' || $line->doc_type == 'supplier_invoice' || $line->doc_type == 'expense_report') + { + print $objectstatic->getNomUrl(1, '', 0, 0, '', 0, -1, 1); + print $documentlink; + } else { + print $line->doc_ref; + } + print '
'; + + print "
' . $line->label_operation . '' . $line->label_operation . '
(' . length_accounta($line->subledger_account) . ')
'.($line->debit ? price($line->debit) : '').'' . ($line->credit ? price($line->credit) : '') . ''.$line->lettering_code.''; + if (empty($line->date_export)) { + if ($user->rights->accounting->mouvements->creer) { + print ''.img_edit().''; + } + if ($user->rights->accounting->mouvements->supprimer) { + print ' '.img_delete().''; + } + } print ''.$line->label_operation.''.$line->label_operation.'
('.length_accounta($line->subledger_account).')
'.($line->debit ? price($line->debit) : '').''.($line->credit ? price($line->credit) : '').''.$journaltoshow.''; - print ''.img_edit().' '; - print ''.img_delete().''; - print '
'.$langs->trans("SubTotal").':'.price($sous_total_debit).''.price($sous_total_credit).''; -print price($sous_total_debit - $sous_total_credit); -print ''.$langs->trans("TotalForAccount").' '.$accountg.':'.price($sous_total_debit).''.price($sous_total_credit).'
'.$langs->trans("Balance").':'; + print price($sous_total_debit - $sous_total_credit); + print ''; + print price($sous_total_credit - $sous_total_debit); + print '
'.$langs->trans("Total").':'; -print price($total_debit); -print ''; -print price($total_credit); -print '
"; print '
'; +// TODO Replace this with mass delete action +if ($user->rights->accounting->mouvements->supprimer_tous) { + print '
'."\n"; + print ''.$langs->trans("DeleteMvt").''; + print '
'; +} + print ''; // End of page diff --git a/htdocs/accountancy/class/accountancyexport.class.php b/htdocs/accountancy/class/accountancyexport.class.php index 1e641564de4..3bf41e6326f 100644 --- a/htdocs/accountancy/class/accountancyexport.class.php +++ b/htdocs/accountancy/class/accountancyexport.class.php @@ -5,11 +5,12 @@ * Copyright (C) 2015 Florian Henry * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2016 Pierre-Henry Favre - * Copyright (C) 2016-2019 Alexandre Spangaro + * Copyright (C) 2016-2020 Alexandre Spangaro * Copyright (C) 2013-2017 Olivier Geffroy * Copyright (C) 2017 Elarifr. Ari Elbaz * Copyright (C) 2017-2019 Frédéric France * Copyright (C) 2017 André Schild + * Copyright (C) 2020 Guillaume Alexandre * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -52,6 +53,7 @@ class AccountancyExport public static $EXPORT_TYPE_SAGE50_SWISS = 45; public static $EXPORT_TYPE_CHARLEMAGNE = 50; public static $EXPORT_TYPE_QUADRATUS = 60; + public static $EXPORT_TYPE_WINFIC = 70; public static $EXPORT_TYPE_OPENCONCERTO = 100; public static $EXPORT_TYPE_LDCOMPTA = 110; public static $EXPORT_TYPE_LDCOMPTA10 = 120; @@ -105,6 +107,7 @@ class AccountancyExport self::$EXPORT_TYPE_BOB50 => $langs->trans('Modelcsv_bob50'), self::$EXPORT_TYPE_CIEL => $langs->trans('Modelcsv_ciel'), self::$EXPORT_TYPE_QUADRATUS => $langs->trans('Modelcsv_quadratus'), + self::$EXPORT_TYPE_WINFIC => $langs->trans('Modelcsv_winfic'), self::$EXPORT_TYPE_EBP => $langs->trans('Modelcsv_ebp'), self::$EXPORT_TYPE_COGILOG => $langs->trans('Modelcsv_cogilog'), self::$EXPORT_TYPE_AGIRIS => $langs->trans('Modelcsv_agiris'), @@ -136,6 +139,7 @@ class AccountancyExport self::$EXPORT_TYPE_BOB50 => 'bob50', self::$EXPORT_TYPE_CIEL => 'ciel', self::$EXPORT_TYPE_QUADRATUS => 'quadratus', + self::$EXPORT_TYPE_WINFIC => 'winfic', self::$EXPORT_TYPE_EBP => 'ebp', self::$EXPORT_TYPE_COGILOG => 'cogilog', self::$EXPORT_TYPE_AGIRIS => 'agiris', @@ -184,6 +188,10 @@ class AccountancyExport 'label' => $langs->trans('Modelcsv_quadratus'), 'ACCOUNTING_EXPORT_FORMAT' => 'txt', ), + self::$EXPORT_TYPE_WINFIC => array( + 'label' => $langs->trans('Modelcsv_winfic'), + 'ACCOUNTING_EXPORT_FORMAT' => 'txt', + ), self::$EXPORT_TYPE_EBP => array( 'label' => $langs->trans('Modelcsv_ebp'), ), @@ -246,7 +254,7 @@ class AccountancyExport $filename = 'general_ledger-'.$this->getFormatCode($formatexportset); $type_export = 'general_ledger'; - global $db; // The tpl file use $db + global $db; // The tpl file use $db include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php'; @@ -269,6 +277,9 @@ class AccountancyExport case self::$EXPORT_TYPE_QUADRATUS : $this->exportQuadratus($TData); break; + case self::$EXPORT_TYPE_WINFIC : + $this->exportWinfic($TData); + break; case self::$EXPORT_TYPE_EBP : $this->exportEbp($TData); break; @@ -548,6 +559,85 @@ class AccountancyExport } } + /** + * Export format : WinFic - eWinfic - WinSis Compta + * + * + * @param array $TData data + * @return void + */ + public function exportWinfic(&$TData) + { + global $conf; + + $end_line = "\r\n"; + + //We should use dol_now function not time however this is wrong date to transfert in accounting + //$date_ecriture = dol_print_date(dol_now(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be ddmmyy + //$date_ecriture = dol_print_date(time(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be ddmmyy + foreach ($TData as $data) { + $code_compta = $data->numero_compte; + if (!empty($data->subledger_account)) + $code_compta = $data->subledger_account; + + $Tab = array(); + //$Tab['type_ligne'] = 'M'; + $Tab['code_journal'] = str_pad(self::trunc($data->code_journal, 2), 2); + + //We use invoice date $data->doc_date not $date_ecriture which is the transfert date + //maybe we should set an option for customer who prefer to keep in accounting software the tranfert date instead of invoice date ? + //$Tab['date_ecriture'] = $date_ecriture; + $Tab['date_operation'] = dol_print_date($data->doc_date, '%d%m%Y'); + + $Tab['folio'] = ' 1'; + + $Tab['num_ecriture'] = str_pad(self::trunc($data->piece_num, 6), 6, ' ', STR_PAD_LEFT); + + $Tab['jour_ecriture'] = dol_print_date($data->doc_date, '%d%m%y'); + + $Tab['num_compte'] = str_pad(self::trunc($code_compta, 6), 6, '0'); + + if($data->sens == 'D'){ + $Tab['montant_debit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT); + + $Tab['montant_crebit'] = str_pad(number_format(0, 2, ',', ''), 13, ' ', STR_PAD_LEFT); + } + else{ + $Tab['montant_debit'] = str_pad(number_format(0, 2, ',', ''), 13, ' ', STR_PAD_LEFT); + + $Tab['montant_crebit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT); + } + + $Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).' '.dol_string_unaccent($data->label_operation), 30), 30); + + $Tab['lettrage'] = str_repeat(' ', 2); + + $Tab['code_piece'] = str_repeat(' ', 5); + + $Tab['code_stat'] = str_repeat(' ', 4); + + if (!empty($data->date_echeance)) + //$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE); + $Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%Y'); + else + $Tab['date_echeance'] = dol_print_date($data->doc_date, '%d%m%Y'); + + $Tab['monnaie'] = '1'; + + $Tab['filler'] = ' '; + + $Tab['ind_compteur'] = ' '; + + $Tab['quantite'] = '0,000000000'; + + $Tab['code_pointage'] = str_repeat(' ', 2); + + $Tab['end_line'] = $end_line; + + print implode('|', $Tab); + } + } + /** * Export format : EBP @@ -930,7 +1020,7 @@ class AccountancyExport } /** - * Export format : LD Compta version 9 & higher + * Export format : LD Compta version 9 * http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW9.pdf * * @param array $objectLines data diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index a32918cc5bf..bcd17793db1 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -553,24 +553,19 @@ class AccountingAccount extends CommonObject } } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Account deactivated + * Deactivate an account (for status active or status reconcilable) * * @param int $id Id - * @param int $mode 0=field active, 1=field active_customer_list, 2=field_active_supplier_list + * @param int $mode 0=field active, 1=field reconcilable * @return int <0 if KO, >0 if OK */ - public function account_desactivate($id, $mode = 0) + public function accountDeactivate($id, $mode = 0) { - // phpcs:enable $result = $this->checkUsage(); - if ($mode == 0) - { - $fieldtouse = 'active'; - } - elseif ($mode == 1) + $fieldtouse = 'active'; + if ($mode == 1) { $fieldtouse = 'reconcilable'; } @@ -582,7 +577,7 @@ class AccountingAccount extends CommonObject $sql .= "SET ".$fieldtouse." = '0'"; $sql .= " WHERE rowid = ".$this->db->escape($id); - dol_syslog(get_class($this)."::account_desactivate ".$fieldtouse." sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::accountDeactivate ".$fieldtouse." sql=".$sql, LOG_DEBUG); $result = $this->db->query($sql); if ($result) { diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 43762c2d36a..0162a98394e 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -704,7 +704,7 @@ class BookKeeping extends CommonObject $sql .= ' WHERE 1 = 1'; $sql .= " AND entity IN (".getEntity('accountancy').")"; if (null !== $ref) { - $sql .= ' AND t.ref = '.'\''.$ref.'\''; + $sql .= " AND t.ref = '".$this->db->escape($ref)."'"; } else { $sql .= ' AND t.rowid = '.$id; } diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index 7e51160195b..45b0c909016 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -1,6 +1,6 @@ - * Copyright (C) 2013-2016 Alexandre Spangaro + * Copyright (C) 2013-2020 Alexandre Spangaro * Copyright (C) 2014-2015 Ari Elbaz (elarifr) * Copyright (C) 2014-2016 Florian Henry * Copyright (C) 2014 Juanjo Menent @@ -27,10 +27,11 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -42,6 +43,7 @@ $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' $account_parent = GETPOST('account_parent'); $changeaccount = GETPOST('changeaccount'); // Search Getpost +$search_societe = GETPOST('search_societe', 'alpha'); $search_lineid = GETPOST('search_lineid', 'int'); $search_ref = GETPOST('search_ref', 'alpha'); $search_invoice = GETPOST('search_invoice', 'alpha'); @@ -89,6 +91,7 @@ $formaccounting = new FormAccounting($db); // Purge search criteria if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers { + $search_societe=''; $search_lineid = ''; $search_ref = ''; $search_invoice = ''; @@ -175,7 +178,7 @@ $sql .= " s.rowid as socid, s.nom as name, s.code_compta, s.code_client,"; $sql .= " p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.accountancy_code_sell, aa.rowid as fk_compte, aa.account_number, aa.label as label_compte,"; $sql .= " fd.situation_percent,"; $sql .= " co.code as country_code, co.label as country,"; -$sql .= " s.tva_intra"; +$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur"; $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; @@ -193,6 +196,10 @@ if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { } else { $sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_STANDARD.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_DEPOSIT.",".Facture::TYPE_SITUATION.")"; } +// Add search filter like +if ($search_societe) { + $sql .= natural_search('s.nom', $search_societe); +} if ($search_lineid) { $sql .= natural_search("fd.rowid", $search_lineid, 1); } @@ -262,6 +269,7 @@ if ($result) { $param = ''; if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); + if ($search_societe) $param .= "&search_societe=".urlencode($search_societe); if ($search_invoice) $param .= "&search_invoice=".urlencode($search_invoice); if ($search_ref) $param .= "&search_ref=".urlencode($search_ref); if ($search_label) $param .= "&search_label=".urlencode($search_label); @@ -296,7 +304,7 @@ if ($result) { print ''."\n"; print ''; - print ''; + print ''; print ''; print ''; print ''; print ''; + print ''; print ''; print ''; @@ -330,6 +339,7 @@ if ($result) { print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "fd.description", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "fd.total_ht", "", $param, '', $sortfield, $sortorder, 'right '); print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "fd.tva_tx", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder); @@ -337,6 +347,7 @@ if ($result) { print_liste_field_titre($clickpicto, '', '', '', '', '', '', '', 'center '); print "\n"; + $thirdpartystatic=new Societe($db); $facture_static = new Facture($db); $product_static = new Product($db); @@ -347,6 +358,17 @@ if ($result) { $facture_static->id = $objp->facid; $facture_static->type = $objp->ftype; + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_compta_client = $objp->code_compta_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur; + $thirdpartystatic->email = $objp->email; + $thirdpartystatic->country_code = $objp->country_code; + $product_static->ref = $objp->product_ref; $product_static->id = $objp->product_id; $product_static->label = $objp->product_label; @@ -367,7 +389,7 @@ if ($result) { print ''; print ''; + // Thirdparty + print ''; + // Country print ''; - print ''; + print ''; print ''; print ''; print ''; print ''; + print ''; print '\n"; + $thirdpartystatic = new Societe($db); $facture_static = new Facture($db); $product_static = new Product($db); @@ -421,6 +431,17 @@ if ($result) { $objp->code_sell_l = ''; $objp->code_sell_p = ''; + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_compta_client = $objp->code_compta_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur; + $thirdpartystatic->email = $objp->email; + $thirdpartystatic->country_code = $objp->country_code; + $product_static->ref = $objp->product_ref; $product_static->id = $objp->product_id; $product_static->type = $objp->type; @@ -558,6 +579,9 @@ if ($result) { print vatrate($objp->tva_tx_line.($objp->vat_src_code ? ' ('.$objp->vat_src_code.')' : '')); print ''; + // Thirdparty + print ''; + // Country print ''; // Found accounts - print ''; diff --git a/htdocs/accountancy/expensereport/lines.php b/htdocs/accountancy/expensereport/lines.php index 8cc398a00bf..4cd51fb3a63 100644 --- a/htdocs/accountancy/expensereport/lines.php +++ b/htdocs/accountancy/expensereport/lines.php @@ -252,6 +252,9 @@ if ($result) { print ''; print ''; print ''; + if (! empty($conf->global->ACCOUNTANCY_USE_EXPENSE_REPORT_VALIDATION_DATE)) { + print ''; + } print ''; print_liste_field_titre("LineId", $_SERVER["PHP_SELF"], "erd.rowid", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("ExpenseReport", $_SERVER["PHP_SELF"], "er.ref", "", $param, '', $sortfield, $sortorder); - print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "erd.date, erd.rowid", "", $param, '', $sortfield, $sortorder, 'center '); + if (! empty($conf->global->ACCOUNTANCY_USE_EXPENSE_REPORT_VALIDATION_DATE)) { + print_liste_field_titre("DateValidation", $_SERVER["PHP_SELF"], "er.date_valid", "", $param, '', $sortfield, $sortorder, 'center '); + } + print_liste_field_titre("DateOfLine", $_SERVER["PHP_SELF"], "erd.date, erd.rowid", "", $param, '', $sortfield, $sortorder, 'center '); print_liste_field_titre("TypeFees", $_SERVER["PHP_SELF"], "f.label", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "erd.comments", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "erd.total_ht", "", $param, '', $sortfield, $sortorder, 'right '); @@ -299,6 +305,11 @@ if ($result) { // Ref Invoice print ''; + // Date validation + if (! empty($conf->global->ACCOUNTANCY_USE_EXPENSE_REPORT_VALIDATION_DATE)) { + print ''; + } + print ''; print ''; diff --git a/htdocs/accountancy/expensereport/list.php b/htdocs/accountancy/expensereport/list.php index e03c717039f..96eebd49b36 100644 --- a/htdocs/accountancy/expensereport/list.php +++ b/htdocs/accountancy/expensereport/list.php @@ -42,6 +42,9 @@ $massaction = GETPOST('massaction', 'alpha'); $show_files = GETPOST('show_files', 'int'); $confirm = GETPOST('confirm', 'alpha'); $toselect = GETPOST('toselect', 'array'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'myobjectlist'; // To manage different context of search +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + // Select Box $mesCasesCochees = GETPOST('toselect', 'array'); @@ -183,7 +186,7 @@ if (empty($chartaccountcode)) } // Expense report lines -$sql = "SELECT er.ref, er.rowid as erid, er.date_debut,"; +$sql = "SELECT er.ref, er.rowid as erid, er.date_debut, er.date_valid,"; $sql .= " erd.rowid, erd.fk_c_type_fees, erd.comments, erd.total_ht as price, erd.fk_code_ventilation, erd.tva_tx as tva_tx_line, erd.vat_src_code, erd.date,"; $sql .= " f.id as type_fees_id, f.code as type_fees_code, f.label as type_fees_label, f.accountancy_code as code_buy,"; $sql .= " aa.rowid as aarowid"; @@ -240,8 +243,8 @@ if ($result) { $arrayofselected = is_array($toselect) ? $toselect : array(); $param = ''; - if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage; - if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); if ($search_lineid) $param .= '&search_lineid='.urlencode($search_lineid); if ($search_day) $param .= '&search_day='.urlencode($search_day); if ($search_month) $param .= '&search_month='.urlencode($search_month); @@ -288,6 +291,9 @@ if ($result) { print ''; print ''; print ''; + if (! empty($conf->global->ACCOUNTANCY_USE_EXPENSE_REPORT_VALIDATION_DATE)) { + print ''; + } print ''; print_liste_field_titre("LineId", $_SERVER["PHP_SELF"], "erd.rowid", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("ExpenseReport", $_SERVER["PHP_SELF"], "er.ref", "", $param, '', $sortfield, $sortorder); - print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "erd.date, erd.rowid", "", $param, '', $sortfield, $sortorder, 'center '); + if (! empty($conf->global->ACCOUNTANCY_USE_EXPENSE_REPORT_VALIDATION_DATE)) { + print_liste_field_titre("DateValidation", $_SERVER["PHP_SELF"], "er.date_valid", "", $param, '', $sortfield, $sortorder, 'center '); + } + print_liste_field_titre("DateOfLine", $_SERVER["PHP_SELF"], "erd.date, erd.rowid", "", $param, '', $sortfield, $sortorder, 'center '); print_liste_field_titre("TypeFees", $_SERVER["PHP_SELF"], "f.label", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "erd.comments", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "erd.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 '); @@ -341,6 +350,11 @@ if ($result) { // Ref Expense report print ''; + // Date validation + if (! empty($conf->global->ACCOUNTANCY_USE_EXPENSE_REPORT_VALIDATION_DATE)) { + print ''; + } + // Date print ''; diff --git a/htdocs/accountancy/index.php b/htdocs/accountancy/index.php index bc0cf66a938..56cf674505b 100644 --- a/htdocs/accountancy/index.php +++ b/htdocs/accountancy/index.php @@ -88,7 +88,7 @@ if ($conf->accounting->enabled) } - print load_fiche_titre($langs->trans("AccountancyArea"), $resultboxes['selectboxlist'], 'accountancy', 0, '', '', $showtutorial); + print load_fiche_titre($langs->trans("AccountancyArea"), $resultboxes['selectboxlist'], 'title_accountancy', 0, '', '', $showtutorial); print '
'; // hideobject is to start hidden print "
\n"; @@ -101,13 +101,13 @@ if ($conf->accounting->enabled) // STEPS $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescJournalSetup", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("AccountingJournals").''.''); + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescJournalSetup", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("AccountingJournals").''); print "
\n"; $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChartModel", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Pcg_version").''.''); + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChartModel", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Pcg_version").''); print "
\n"; $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChart", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Chartofaccounts").''.''); + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChart", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Chartofaccounts").''); print "
\n"; print "
\n"; @@ -116,20 +116,20 @@ if ($conf->accounting->enabled) print "
\n"; $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescDefault", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").''.''); + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescDefault", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").''); print "
\n"; $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBank", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuBankAccounts").''.'')."\n"; + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBank", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuBankAccounts").'')."\n"; print "
\n"; $step++; - $textlink = ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuVatAccounts").''.''; + $textlink = ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuVatAccounts").''; print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescVat", $step, $textlink); print "
\n"; if (!empty($conf->tax->enabled)) { - $textlink = ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuTaxAccounts").''.''; + $textlink = ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuTaxAccounts").''; $step++; print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescContrib", $step, $textlink); print "
\n"; @@ -145,7 +145,7 @@ if ($conf->accounting->enabled) if (!empty($conf->expensereport->enabled)) // TODO Move this in the default account page because this is only one accounting account per purpose, not several. { $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescExpenseReport", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuExpenseReportAccounts").''.''); + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescExpenseReport", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuExpenseReportAccounts").''); print "
\n"; } /* @@ -169,7 +169,7 @@ if ($conf->accounting->enabled) }*/ $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescProd", $step, ''.''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("ProductsBinding").''.''); + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescProd", $step, ''.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("ProductsBinding").''); print "
\n"; @@ -186,17 +186,17 @@ if ($conf->accounting->enabled) $langs->loadLangs(array('bills', 'trips')); $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBind", chr(64 + $step), $langs->transnoentitiesnoconv("BillsCustomers"), ''.''.$langs->transnoentitiesnoconv("TransferInAccounting").' - '.$langs->transnoentitiesnoconv("CustomersVentilation").''.'')."\n"; + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBind", chr(64 + $step), $langs->transnoentitiesnoconv("BillsCustomers"), ''.$langs->transnoentitiesnoconv("TransferInAccounting").' - '.$langs->transnoentitiesnoconv("CustomersVentilation").'')."\n"; print "
\n"; $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBind", chr(64 + $step), $langs->transnoentitiesnoconv("BillsSuppliers"), ''.''.$langs->transnoentitiesnoconv("TransferInAccounting").' - '.$langs->transnoentitiesnoconv("SuppliersVentilation").''.'')."\n"; + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBind", chr(64 + $step), $langs->transnoentitiesnoconv("BillsSuppliers"), ''.$langs->transnoentitiesnoconv("TransferInAccounting").' - '.$langs->transnoentitiesnoconv("SuppliersVentilation").'')."\n"; print "
\n"; if (!empty($conf->expensereport->enabled) || !empty($conf->deplacement->enabled)) { $step++; - print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBind", chr(64 + $step), $langs->transnoentitiesnoconv("ExpenseReports"), ''.''.$langs->transnoentitiesnoconv("TransferInAccounting").' - '.$langs->transnoentitiesnoconv("ExpenseReportsVentilation").''.'')."\n"; + print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBind", chr(64 + $step), $langs->transnoentitiesnoconv("ExpenseReports"), ''.$langs->transnoentitiesnoconv("TransferInAccounting").' - '.$langs->transnoentitiesnoconv("ExpenseReportsVentilation").'')."\n"; print "
\n"; } diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index b3d1e6ce7f8..3372105cd85 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -994,7 +994,7 @@ if (empty($action) || $action == 'view') { print '
'; - if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) print ''; + if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL) && $in_bookkeeping == 'notyet') print ''; if (($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER == "") || $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER == '-1' || ($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == "") || $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == '-1') { diff --git a/htdocs/accountancy/journal/expensereportsjournal.php b/htdocs/accountancy/journal/expensereportsjournal.php index d0a84c1236c..4be0b133143 100644 --- a/htdocs/accountancy/journal/expensereportsjournal.php +++ b/htdocs/accountancy/journal/expensereportsjournal.php @@ -508,7 +508,7 @@ if (empty($action) || $action == 'view') { } print '
'; - if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) print ''; + if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL) && $in_bookkeeping == 'notyet') print ''; if (empty($conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT) || $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT == '-1') { print ''; } diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index dd7dc1ca9e1..42bff74097f 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -740,7 +740,7 @@ if (empty($action) || $action == 'view') { print ' : '.$langs->trans("AccountancyAreaDescMisc", 4, ''.$langs->transnoentitiesnoconv("MenuAccountancy").'-'.$langs->transnoentitiesnoconv("Setup")."-".$langs->transnoentitiesnoconv("MenuDefaultAccounts").''); } print '
'; - if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) print ''; + if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL) && $in_bookkeeping == 'notyet') print ''; if (($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == "") || $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == '-1') { print ''; } @@ -936,7 +936,7 @@ if (empty($action) || $action == 'view') { $accountoshow = length_accountg($k); if (($accountoshow == "") || $accountoshow == 'NotDefined') { - print ''.$langs->trans("VATAccountNotDefined").' ('.$langs->trans("Purchase").')'.''; + print ''.$langs->trans("VATAccountNotDefined").' ('.$langs->trans("Purchase").')'; } else print $accountoshow; print ""; @@ -959,15 +959,15 @@ if (empty($action) || $action == 'view') { foreach ($tabother[$key] as $k => $mt) { if ($mt) { print '
'; - print ""; + print ''; print ""; print ""; // Account - print "'; diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index 80603106cb3..c3c9f45ed5a 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -677,7 +677,7 @@ if (empty($action) || $action == 'view') { print ' : '.$langs->trans("AccountancyAreaDescMisc", 4, ''.$langs->transnoentitiesnoconv("MenuAccountancy").'-'.$langs->transnoentitiesnoconv("Setup")."-".$langs->transnoentitiesnoconv("MenuDefaultAccounts").''); } print '
'; - if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) print ''; + if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL) && $in_bookkeeping == 'notyet') print ''; if (($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER == "") || $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER == '-1') { print ''; } @@ -874,7 +874,7 @@ if (empty($action) || $action == 'view') { $accountoshow = length_accountg($k); if (($accountoshow == "") || $accountoshow == 'NotDefined') { - print ''.$langs->trans("VATAccountNotDefined").' ('.$langs->trans("Sale").')'.''; + print ''.$langs->trans("VATAccountNotDefined").' ('.$langs->trans("Sale").')'; } else print $accountoshow; print ""; diff --git a/htdocs/accountancy/supplier/lines.php b/htdocs/accountancy/supplier/lines.php index 6d1a0ccd610..f3a4b255f3e 100644 --- a/htdocs/accountancy/supplier/lines.php +++ b/htdocs/accountancy/supplier/lines.php @@ -1,6 +1,6 @@ - * Copyright (C) 2013-2017 Alexandre Spangaro + * Copyright (C) 2013-2020 Alexandre Spangaro * Copyright (C) 2014-2015 Ari Elbaz (elarifr) * Copyright (C) 2013-2016 Florian Henry * Copyright (C) 2014 Juanjo Menent @@ -27,12 +27,13 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -44,6 +45,7 @@ $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' $account_parent = GETPOST('account_parent'); $changeaccount = GETPOST('changeaccount'); // Search Getpost +$search_societe = GETPOST('search_societe', 'alpha'); $search_lineid = GETPOST('search_lineid', 'int'); $search_ref = GETPOST('search_ref', 'alpha'); $search_invoice = GETPOST('search_invoice', 'alpha'); @@ -91,6 +93,7 @@ $formaccounting = new FormAccounting($db); // Purge search criteria if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers { + $search_societe = ''; $search_lineid = ''; $search_ref = ''; $search_invoice = ''; @@ -177,7 +180,7 @@ $sql .= " l.rowid, l.fk_product, l.product_type as line_type, l.description, l.t $sql .= " aa.label, aa.account_number, "; $sql .= " p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.fk_product_type as type,"; $sql .= " co.code as country_code, co.label as country,"; -$sql .= " s.tva_intra"; +$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur"; $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; @@ -188,6 +191,10 @@ $sql .= " INNER JOIN ".MAIN_DB_PREFIX."facture_fourn as f ON f.rowid = l.fk_fact $sql .= " INNER JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = f.fk_soc"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as co ON co.rowid = s.fk_pays "; $sql .= " WHERE f.rowid = l.fk_facture_fourn and f.fk_statut >= 1 AND l.fk_code_ventilation <> 0 "; +// Add search filter like +if ($search_societe) { + $sql .= natural_search('s.nom', $search_societe); +} if ($search_lineid) { $sql .= natural_search("l.rowid", $search_lineid, 1); } @@ -264,6 +271,7 @@ if ($result) { $param = ''; if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); + if ($search_societe) $param .= "&search_societe=" . urlencode($search_societe); if ($search_invoice) $param .= "&search_invoice=".urlencode($search_invoice); if ($search_ref) $param .= "&search_ref=".urlencode($search_ref); if ($search_label) $param .= "&search_label=".urlencode($search_label); @@ -300,7 +308,7 @@ if ($result) { // We add search filter print '
'; - print ''; + print ''; print ''; print ''; print ''; print ''; print ''; + print ''; print ''; print ''; @@ -334,6 +343,7 @@ if ($result) { print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right '); print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder); @@ -341,6 +351,7 @@ if ($result) { print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center '); print "\n"; + $thirdpartystatic = new Societe($db); $facturefournisseur_static = new FactureFournisseur($db); $product_static = new ProductFournisseur($db); @@ -352,6 +363,17 @@ if ($result) { $facturefournisseur_static->ref = $objp->ref; $facturefournisseur_static->id = $objp->facid; + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_compta_client = $objp->code_compta_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur; + $thirdpartystatic->email = $objp->email; + $thirdpartystatic->country_code = $objp->country_code; + $product_static->ref = $objp->product_ref; $product_static->id = $objp->product_id; $product_static->label = $objp->product_label; @@ -376,7 +398,7 @@ if ($result) { print ''; // Description @@ -390,6 +412,10 @@ if ($result) { print ''; + // Thirdparty + print ''; + + // Country print ''; print ''; print ''; diff --git a/htdocs/accountancy/supplier/list.php b/htdocs/accountancy/supplier/list.php index ce354c789f3..6ef942bea89 100644 --- a/htdocs/accountancy/supplier/list.php +++ b/htdocs/accountancy/supplier/list.php @@ -27,12 +27,13 @@ */ require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -49,6 +50,7 @@ $toselect = GETPOST('toselect', 'array'); $mesCasesCochees = GETPOST('toselect', 'array'); // Search Getpost +$search_societe = GETPOST('search_societe', 'alpha'); $search_lineid = GETPOST('search_lineid', 'int'); $search_invoice = GETPOST('search_invoice', 'alpha'); $search_ref = GETPOST('search_ref', 'alpha'); @@ -116,6 +118,7 @@ if (empty($reshook)) // Purge search criteria if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers { + $search_societe=''; $search_lineid = ''; $search_ref = ''; $search_invoice = ''; @@ -216,7 +219,7 @@ $sql .= " p.accountancy_code_buy as code_buy, p.accountancy_code_buy_intra as co $sql .= " p.tosell as status, p.tobuy as status_buy,"; $sql .= " aa.rowid as aarowid, aa2.rowid as aarowid_intra, aa3.rowid as aarowid_export,"; $sql .= " co.code as country_code, co.label as country_label,"; -$sql .= " s.tva_intra"; +$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur"; $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; @@ -231,6 +234,9 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa3 ON p.accountancy $sql .= " WHERE f.fk_statut > 0 AND l.fk_code_ventilation <= 0"; $sql .= " AND l.product_type <= 2"; // Add search filter like +if ($search_societe) { + $sql .= natural_search('s.nom', $search_societe); +} if ($search_lineid) { $sql .= natural_search("l.rowid", $search_lineid, 1); } @@ -314,6 +320,7 @@ if ($result) { $param = ''; if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); + if ($search_societe) $param.='&search_societe='.urlencode($search_societe); if ($search_lineid) $param .= '&search_lineid='.urlencode($search_lineid); if ($search_day) $param .= '&search_day='.urlencode($search_day); if ($search_month) $param .= '&search_month='.urlencode($search_month); @@ -364,7 +371,7 @@ if ($result) { // We add search filter print ''; - print ''; + print ''; print ''; print ''; print ''; print ''; print ''; + print ''; print '\n"; + $thirdpartystatic=new Societe($db); $facturefourn_static = new FactureFournisseur($db); $product_static = new Product($db); @@ -424,6 +434,17 @@ if ($result) { $objp->code_buy_l = ''; $objp->code_buy_p = ''; + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_compta_client = $objp->code_compta_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur; + $thirdpartystatic->email = $objp->email; + $thirdpartystatic->country_code = $objp->country_code; + $product_static->ref = $objp->product_ref; $product_static->id = $objp->product_id; $product_static->type = $objp->type; @@ -543,6 +564,9 @@ if ($result) { print vatrate($objp->tva_tx_line.($objp->vat_src_code ? ' ('.$objp->vat_src_code.')' : '')); print ''; + // Thirdparty + print ''; + // Country print ''; // Found accounts - print ''; diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 4225dad5f31..55504a547c2 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -60,6 +60,9 @@ class Adherent extends CommonObject */ public $ismultientitymanaged = 1; + public $picto = 'member'; + + public $mesgs; /** @@ -657,7 +660,7 @@ class Adherent extends CommonObject $action = 'update'; // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) { @@ -927,14 +930,11 @@ class Adherent extends CommonObject // 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); - } + $result = $this->deleteExtraFields(); + if ($result < 0) { + $error++; + $errorflag = -4; + dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); } } diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 442d8cf091f..4af80ab4a63 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -183,20 +183,14 @@ class AdherentType extends CommonObject $sql2 .= " SET "; $sql2 .= " label='".$this->db->escape($this->label)."',"; $sql2 .= " description='".$this->db->escape($this->description)."'"; - if (!empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) { $sql2 .= ", email='".$this->db->escape($this->other)."'"; - } $sql2 .= " WHERE fk_type=".$this->id." AND lang='".$this->db->escape($key)."'"; } else { $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."adherent_type_lang (fk_type, lang, label, description"; - if (!empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) { $sql2 .= ", email"; - } $sql2 .= ")"; $sql2 .= " VALUES(".$this->id.",'".$this->db->escape($key)."','".$this->db->escape($this->label)."',"; $sql2 .= " '".$this->db->escape($this->description)."'"; - if (!empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) { $sql2 .= ", '".$this->db->escape($this->other)."'"; - } $sql2 .= ")"; } dol_syslog(get_class($this).'::setMultiLangs key = current_lang = '.$key); @@ -219,20 +213,14 @@ class AdherentType extends CommonObject $sql2 .= " SET "; $sql2 .= " label='".$this->db->escape($this->multilangs["$key"]["label"])."',"; $sql2 .= " description='".$this->db->escape($this->multilangs["$key"]["description"])."'"; - if (!empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) { $sql2 .= ", email='".$this->db->escape($this->multilangs["$key"]["other"])."'"; - } $sql2 .= " WHERE fk_type=".$this->id." AND lang='".$this->db->escape($key)."'"; } else { $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."adherent_type_lang (fk_type, lang, label, description"; - if (!empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) { $sql2 .= ", email"; - } $sql2 .= ")"; $sql2 .= " VALUES(".$this->id.",'".$this->db->escape($key)."','".$this->db->escape($this->multilangs["$key"]["label"])."',"; $sql2 .= " '".$this->db->escape($this->multilangs["$key"]["description"])."'"; - if (!empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) { $sql2 .= ", '".$this->db->escape($this->multilangs["$key"]["other"])."'"; - } $sql2 .= ")"; } @@ -409,7 +397,7 @@ class AdherentType extends CommonObject $action = 'update'; // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/adherents/document.php b/htdocs/adherents/document.php index cc3e06207be..05ccf20169c 100644 --- a/htdocs/adherents/document.php +++ b/htdocs/adherents/document.php @@ -45,11 +45,12 @@ $confirm = GETPOST('confirm', 'alpha'); $result = restrictedArea($user, 'adherent', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/adherents/index.php b/htdocs/adherents/index.php index 44fcb397ddc..6d069386592 100644 --- a/htdocs/adherents/index.php +++ b/htdocs/adherents/index.php @@ -1,9 +1,9 @@ * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2017 Laurent Destailleur + * Copyright (C) 2004-2020 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2019 Nicolas ZABOURI + * Copyright (C) 2019 Nicolas ZABOURI * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ /** * \file htdocs/adherents/index.php * \ingroup member - * \brief Page accueil module adherents + * \brief Home page of membership module */ require '../main.inc.php'; @@ -339,7 +339,7 @@ if ($resql) $staticmember->ref = $staticmember->getFullName($langs); $statictype->id = $obj->typeid; $statictype->label = $obj->label; - print ''; + print ''; print ''; print ''; print ''; @@ -399,12 +399,12 @@ if ($resql) $staticmember->name = $obj->company; } $staticmember->ref = $staticmember->getFullName($langs); - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; print ''; //print ''; - print ''; + print ''; print ''; $i++; } diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 7ed417750a7..6cb34192845 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -877,7 +877,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/adherents/subscription/list.php b/htdocs/adherents/subscription/list.php index b9f5611f7e8..d2fd59b8ce5 100644 --- a/htdocs/adherents/subscription/list.php +++ b/htdocs/adherents/subscription/list.php @@ -259,10 +259,9 @@ print ''; print ''; print ''; -print ''; print ''; -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'members', 0, $newcardbutton, '', $limit); +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'members', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "Information"; $modelmail = "subscription"; @@ -522,7 +521,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 969117c4bdc..c190398c1db 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -6,6 +6,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2019 Thibault Foucart + * Copyright (C) 2020 Josep Lluís Amador * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -239,6 +240,8 @@ if (!$rowid && $action != 'create' && $action != 'edit') $i = 0; $param = ''; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage; + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit; $newcardbutton = ''; if ($user->rights->adherent->configurer) @@ -252,10 +255,9 @@ if (!$rowid && $action != 'create' && $action != 'edit') print ''; print ''; print ''; - print ''; print ''; - print_barre_liste($langs->trans("MembersTypes"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'members', 0, $newcardbutton, '', $limit); + print_barre_liste($langs->trans("MembersTypes"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'members', 0, $newcardbutton, '', $limit, 0, 0, 1); $moreforfilter = ''; @@ -375,13 +377,8 @@ if ($action == 'create') print ''; // Other attributes - $parameters = array(); - $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - if (empty($reshook)) - { - print $object->showOptionals($extrafields, 'edit', $parameters); - } + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_add.tpl.php'; + print ''; print "
'; if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { @@ -310,8 +318,9 @@ if ($result) { print ''; - print $form->select_country($search_country, 'search_country', '', 0, 'maxwidth200', 'code2', 1, 0, 1); + print $form->select_country($search_country, 'search_country', '', 0, 'maxwidth150', 'code2', 1, 0, 1); //print ''; print '
'; if ($product_static->id > 0) print $product_static->getNomUrl(1); if ($product_static->id > 0 && $objp->product_label) print '
'; - if ($objp->product_label) print $objp->product_label; + if ($objp->product_label) print ''.$objp->product_label.''; print '
'; @@ -380,6 +402,9 @@ if ($result) { print ''.vatrate($objp->tva_tx.($objp->vat_src_code ? ' ('.$objp->vat_src_code.')' : '')).'' . $thirdpartystatic->getNomUrl(1, 'customer') . ''; if ($objp->country_code) diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index 9dbb846370c..1d93a0fea17 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2013-2019 Alexandre Spangaro + * Copyright (C) 2013-2020 Alexandre Spangaro * Copyright (C) 2014-2015 Ari Elbaz (elarifr) * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2014 Juanjo Menent @@ -27,12 +27,13 @@ */ require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -49,6 +50,7 @@ $toselect = GETPOST('toselect', 'array'); $mesCasesCochees = GETPOST('toselect', 'array'); // Search Getpost +$search_societe = GETPOST('search_societe', 'alpha'); $search_lineid = GETPOST('search_lineid', 'int'); $search_ref = GETPOST('search_ref', 'alpha'); $search_invoice = GETPOST('search_invoice', 'alpha'); @@ -112,6 +114,7 @@ if (empty($reshook)) // Purge search criteria if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers { + $search_societe=''; $search_lineid = ''; $search_ref = ''; $search_invoice = ''; @@ -212,7 +215,7 @@ $sql .= " p.accountancy_code_buy as code_buy, p.accountancy_code_buy_intra as co $sql .= " p.tosell as status, p.tobuy as status_buy,"; $sql .= " aa.rowid as aarowid, aa2.rowid as aarowid_intra, aa3.rowid as aarowid_export,"; $sql .= " co.code as country_code, co.label as country_label,"; -$sql .= " s.tva_intra"; +$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur"; $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; @@ -227,6 +230,9 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa3 ON p.accountancy $sql .= " WHERE f.fk_statut > 0 AND l.fk_code_ventilation <= 0"; $sql .= " AND l.product_type <= 2"; // Add search filter like +if ($search_societe) { + $sql .= natural_search('s.nom', $search_societe); +} if ($search_lineid) { $sql .= natural_search("l.rowid", $search_lineid, 1); } @@ -314,6 +320,7 @@ if ($result) { $param = ''; if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); + if ($search_societe) $param .= '&search_societe='.urlencode($search_societe); if ($search_lineid) $param .= '&search_lineid='.urlencode($search_lineid); if ($search_day) $param .= '&search_day='.urlencode($search_day); if ($search_month) $param .= '&search_month='.urlencode($search_month); @@ -363,7 +370,7 @@ if ($result) { // We add search filter print '
'; if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { @@ -377,6 +384,7 @@ if ($result) { print ''; print $form->select_country($search_country, 'search_country', '', 0, 'maxwidth150', 'code2', 1, 0, 1); //print ''; @@ -399,6 +407,7 @@ if ($result) { print_liste_field_titre("ProductDescription", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 '); print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("AccountAccountingSuggest", '', '', '', '', '', '', '', 'nowraponall '); @@ -408,6 +417,7 @@ if ($result) { print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center '); print "
' . $thirdpartystatic->getNomUrl(1, 'customer') . ''; $labelcountry = ($objp->country_code && ($langs->trans("Country".$objp->country_code) != "Country".$objp->country_code)) ? $langs->trans("Country".$objp->country_code) : $objp->country_label; @@ -567,12 +591,12 @@ if ($result) { print ''.$objp->tva_intra.''; + print ''; $s = ''.(($objp->type_l == 1) ? $langs->trans("DefaultForService") : $langs->trans("DefaultForProduct")).': '; $shelp = ''; if ($suggestedaccountingaccountbydefaultfor == 'eec') $shelp .= $langs->trans("SaleEEC"); elseif ($suggestedaccountingaccountbydefaultfor == 'export') $shelp .= $langs->trans("SaleExport"); - $s .= ($objp->code_sell_l > 0 ? length_accountg($objp->code_sell_l) : $langs->trans("NotDefined")); + $s .= ($objp->code_sell_l > 0 ? length_accountg($objp->code_sell_l) : ''.$langs->trans("NotDefined").''); print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1); if ($objp->product_id > 0) { @@ -583,7 +607,7 @@ if ($result) { elseif ($suggestedaccountingaccountfor == 'eecwithvat') $shelp = $langs->trans("SaleEECWithVAT"); elseif ($suggestedaccountingaccountfor == 'eecwithoutvatnumber') $shelp = $langs->trans("SaleEECWithoutVATNumber"); elseif ($suggestedaccountingaccountfor == 'export') $shelp = $langs->trans("SaleExport"); - $s .= (empty($objp->code_sell_p) ? $langs->trans("NotDefined") : length_accountg($objp->code_sell_p)); + $s .= (empty($objp->code_sell_p) ? ''.$langs->trans("NotDefined").'' : length_accountg($objp->code_sell_p)); print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1); } print '
'; if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; print ''; @@ -272,7 +275,10 @@ if ($result) { print '
'.$expensereport_static->getNomUrl(1).''.dol_print_date($db->jdate($objp->date_valid), 'day').''.dol_print_date($db->jdate($objp->date), 'day').''.($langs->trans($objp->type_fees_code) == $objp->type_fees_code ? $objp->type_fees_label : $langs->trans(($objp->type_fees_code))).'
'; if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; print ''; @@ -308,7 +314,10 @@ if ($result) { print '
'.$expensereport_static->getNomUrl(1).''.dol_print_date($db->jdate($objp->date_valid), 'day').''.dol_print_date($db->jdate($objp->date), 'day').'
".$date."".$invoicestatic->getNomUrl(1).""; + print ''; $accountoshow = length_accountg($k); - if (($accountoshow == "") || $accountoshow == 'NotDefined') + if ($accountoshow == '' || $accountoshow == 'NotDefined') { - print ''.$langs->trans("VATAccountNotDefined").' ('.$langs->trans("NPR counterpart").'). Set ACCOUNTING_COUNTERPART_VAT_NPR to the subvention account'.''; + print ''.$langs->trans("VATAccountNotDefined").' ('.$langs->trans("NPR counterpart").'). Set ACCOUNTING_COUNTERPART_VAT_NPR to the subvention account'; } else print $accountoshow; print '
'; @@ -312,8 +320,9 @@ if ($result) { print ''; - print $form->select_country($search_country, 'search_country', '', 0, 'maxwidth200', 'code2', 1, 0, 1); + print $form->select_country($search_country, 'search_country', '', 0, 'maxwidth150', 'code2', 1, 0, 1); // print ''; print '
'; if ($product_static->id > 0) print $product_static->getNomUrl(1); if ($product_static->id > 0 && $objp->product_label) print '
'; - if ($objp->product_label) print $objp->product_label; + if ($objp->product_label) print ''.$objp->product_label.''; print '
'.vatrate($objp->tva_tx.($objp->vat_src_code ? ' ('.$objp->vat_src_code.')' : '')).'' . $thirdpartystatic->getNomUrl(1, 'supplier') . ''; if ($objp->country_code) { @@ -400,7 +426,7 @@ if ($result) { print ''.$objp->tva_intra.''; - print $codecompta.' '; + print $codecompta.' '; print img_edit(); print '
'; @@ -376,6 +383,7 @@ if ($result) { print ''; print $form->select_country($search_country, 'search_country', '', 0, 'maxwidth150', 'code2', 1, 0, 1); //print ''; @@ -399,6 +407,7 @@ if ($result) { print_liste_field_titre("ProductDescription", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 '); print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder); print_liste_field_titre("AccountAccountingSuggest", '', '', '', '', '', '', '', 'nowraponall '); @@ -408,6 +417,7 @@ if ($result) { print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center '); print "
' . $thirdpartystatic->getNomUrl(1, 'supplier') . ''; $labelcountry = ($objp->country_code && ($langs->trans("Country".$objp->country_code) != "Country".$objp->country_code)) ? $langs->trans("Country".$objp->country_code) : $objp->country_label; @@ -553,12 +577,12 @@ if ($result) { print ''.$objp->tva_intra.''; + print ''; $s = ''.(($objp->type_l == 1) ? $langs->trans("DefaultForService") : $langs->trans("DefaultForProduct")).': '; $shelp = ''; if ($suggestedaccountingaccountbydefaultfor == 'eec') $shelp .= $langs->trans("SaleEEC"); elseif ($suggestedaccountingaccountbydefaultfor == 'export') $shelp .= $langs->trans("SaleExport"); - $s .= ($objp->code_buy_l > 0 ? length_accountg($objp->code_buy_l) : $langs->trans("NotDefined")); + $s .= ($objp->code_buy_l > 0 ? length_accountg($objp->code_buy_l) : ''.$langs->trans("NotDefined").''); print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1); if ($objp->product_id > 0) { @@ -567,7 +591,7 @@ if ($result) { $shelp = ''; if ($suggestedaccountingaccountfor == 'eec') $shelp = $langs->trans("SaleEEC"); elseif ($suggestedaccountingaccountfor == 'export') $shelp = $langs->trans("SaleExport"); - $s .= (empty($objp->code_buy_p) ? $langs->trans("NotDefined") : length_accountg($objp->code_buy_p)); + $s .= (empty($objp->code_buy_p) ? ''.$langs->trans("NotDefined").'' : length_accountg($objp->code_buy_p)); print $form->textwithpicto($s, $shelp, 1, 'help', '', 0, 2, '', 1); } print ''.$staticmember->getNomUrl(1, 32).''.$staticmember->getNomUrl(1, 32).''.$statictype->getNomUrl(1, 32).''.dol_print_date($db->jdate($obj->datem), 'dayhour').''.$staticmember->LibStatut($obj->statut, ($obj->subscription == 'yes' ? 1 : 0), $db->jdate($obj->date_end_subscription), 3).''.$subscriptionstatic->getNomUrl(1).''.$staticmember->getNomUrl(1, 32, 'subscription').''.get_date_range($db->jdate($obj->date_start), $db->jdate($obj->date_end)).''.$subscriptionstatic->getNomUrl(1).''.$staticmember->getNomUrl(1, 32, 'subscription').''.get_date_range($db->jdate($obj->date_start), $db->jdate($obj->date_end)).''.price($obj->subscription).''.$staticmember->LibStatut($obj->statut,($obj->subscription=='yes'?1:0),$db->jdate($obj->date_end_subscription),5).''.dol_print_date($db->jdate($obj->datem ? $obj->datem : $obj->datec), 'dayhour').''.dol_print_date($db->jdate($obj->datem ? $obj->datem : $obj->datec), 'dayhour').'
\n"; @@ -822,15 +819,6 @@ if ($rowid > 0) // Other attributes include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_edit.tpl.php'; - // Other attributes - $parameters = array(); - $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - if (empty($reshook)) - { - print $object->showOptionals($extrafields, 'edit', $parameters); - } - print ''; dol_fiche_end(); diff --git a/htdocs/admin/accountant.php b/htdocs/admin/accountant.php index 7a436c5a363..c8c082db6ae 100644 --- a/htdocs/admin/accountant.php +++ b/htdocs/admin/accountant.php @@ -128,7 +128,7 @@ print ''; -//if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // By default, country of localization +print img_picto('', 'globe-americas', 'class="paddingrightonly"'); print $form->select_country($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY, 'country_id'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print ''."\n"; diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 10bfa13d1ce..c5b196146d5 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -81,8 +81,10 @@ if (preg_match('/del_([a-z0-9_\-]+)/i', $action, $reg)) } if ($action == 'set') { + $getDefaultFilter = GETPOST('AGENDA_DEFAULT_FILTER_TYPE'); + $defaultfilter = (is_array($getDefaultFilter)) ? implode(',', $getDefaultFilter) : $getDefaultFilter; dolibarr_set_const($db, 'AGENDA_USE_EVENT_TYPE_DEFAULT', GETPOST('AGENDA_USE_EVENT_TYPE_DEFAULT'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_TYPE', GETPOST('AGENDA_DEFAULT_FILTER_TYPE'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_TYPE', $defaultfilter, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); } @@ -377,7 +379,12 @@ print ''."\n"; print ''.$langs->trans("AGENDA_DEFAULT_FILTER_TYPE").''."\n"; print ' '."\n"; print ''."\n"; -$formactions->select_type_actions($conf->global->AGENDA_DEFAULT_FILTER_TYPE, "AGENDA_DEFAULT_FILTER_TYPE", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : -1), 1); +$multiselect = 0; +if (!empty($conf->global->MAIN_ENABLE_MULTISELECT_TYPE)) { + // We use an option here because it adds bugs when used on agenda page "peruser" and "list" + $multiselect = (!empty($conf->global->AGENDA_USE_EVENT_TYPE)); +} +$formactions->select_type_actions($conf->global->AGENDA_DEFAULT_FILTER_TYPE, "AGENDA_DEFAULT_FILTER_TYPE", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : -1), 1, $multiselect); print ''."\n"; // AGENDA_DEFAULT_FILTER_STATUS diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 3229eda7365..f33a3ea6f93 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -429,7 +429,7 @@ print ''; -//if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // By default, country of localization +print img_picto('', 'globe-americas', 'class="paddingrightonly"'); print $form->select_country($mysoc->country_id, 'country_id'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print ''."\n"; @@ -693,7 +693,7 @@ print '
'; // Sales taxes (VAT, IRPF, ...) -print load_fiche_titre($langs->trans("TypeOfSaleTaxes")); +print load_fiche_titre($langs->trans("TypeOfSaleTaxes"), '', 'object_payment'); print ''; print ''; diff --git a/htdocs/admin/compta.php b/htdocs/admin/compta.php index cdfa15d9069..3ccc2a213ac 100644 --- a/htdocs/admin/compta.php +++ b/htdocs/admin/compta.php @@ -5,6 +5,7 @@ * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2013-2017 Philippe Grand * Copyright (C) 2014 Marcos García + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -83,6 +84,20 @@ if ($action == 'update') } } + $report_include_varpay = GETPOST('ACCOUNTING_REPORTS_INCLUDE_VARPAY', 'alpha'); + if (!empty($report_include_varpay)) + if ($report_include_varpay == 'yes') + if (!dolibarr_set_const($db, 'ACCOUNTING_REPORTS_INCLUDE_VARPAY', 1, 'chaine', 0, '', $conf->entity)) $error++; + if ($report_include_varpay == 'no') + if (!dolibarr_del_const($db, 'ACCOUNTING_REPORTS_INCLUDE_VARPAY', $conf->entity)) $error++; + + $report_include_loan = GETPOST('ACCOUNTING_REPORTS_INCLUDE_LOAN', 'alpha'); + if (!empty($report_include_loan)) + if ($report_include_loan == 'yes') + if (!dolibarr_set_const($db, 'ACCOUNTING_REPORTS_INCLUDE_LOAN', 1, 'chaine', 0, '', $conf->entity)) $error++; + if ($report_include_loan == 'no') + if (!dolibarr_del_const($db, 'ACCOUNTING_REPORTS_INCLUDE_LOAN', $conf->entity)) $error++; + if (!$error) { setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); @@ -158,6 +173,20 @@ foreach ($list as $key) print ''; } +// Option to include various payment in results +print ''."\n"; +print ''."\n"; +print ''; + +// Option to include loan in results +print ''."\n"; +print ''."\n"; +print ''; + print "
'."\n"; +print $form->selectyesno('ACCOUNTING_REPORTS_INCLUDE_VARPAY', (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_VARPAY))); +print '
'."\n"; +print $form->selectyesno('ACCOUNTING_REPORTS_INCLUDE_LOAN', (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_LOAN))); +print '
\n"; print '

'; diff --git a/htdocs/admin/const.php b/htdocs/admin/const.php index 59ac87a2c56..bc22a2020fb 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -208,7 +208,7 @@ if (!empty($conf->multicompany->enabled) && !$user->entity) { print getTitleFieldOfList('Entity', 0, $_SERVER['PHP_SELF'], 'tms', '', $param, '', $sortfield, $sortorder, 'center ')."\n"; } -print getTitleFieldOfList("Action", 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'center '); +print getTitleFieldOfList("", 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'center '); print "\n"; @@ -328,10 +328,10 @@ if ($conf->use_javascript_ajax) { print '
'; print '
'; - print ''; + print ''; print '
'; print '
'; - print ''; + print ''; print '
'; } diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 7d12ffca433..15cfd9ed9db 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -503,7 +503,7 @@ $tabhelp[33] = array('code'=>$langs->trans("EnterAnyCode")); $tabhelp[34] = array('code'=>$langs->trans("EnterAnyCode")); $tabhelp[35] = array(); $tabhelp[36] = array('range_ik'=>$langs->trans('PrevRangeToThisRange')); -$tabhelp[37] = array('code'=>$langs->trans("EnterAnyCode")); +$tabhelp[37] = array('code'=>$langs->trans("EnterAnyCode"), 'unit_type' => $langs->trans('MeasuringUnitTypeDesc'), 'scale' => $langs->trans('MeasuringScaleDesc')); $tabhelp[38] = array('code'=>$langs->trans("EnterAnyCode"), 'url' => $langs->trans('UrlSocialNetworksDesc'), 'icon' => $langs->trans('FafaIconSocialNetworksDesc')); // List of check for fields (NOT USED YET) @@ -1718,7 +1718,7 @@ if ($id) print ""; // Modify link - if ($canbemodified) print ''.img_edit().''; + if ($canbemodified) print ''.img_edit().''; else print ' '; // Delete link diff --git a/htdocs/admin/dolistore/ajax/image.php b/htdocs/admin/dolistore/ajax/image.php index 8d1122417b5..7c25e9d33a5 100644 --- a/htdocs/admin/dolistore/ajax/image.php +++ b/htdocs/admin/dolistore/ajax/image.php @@ -1,6 +1,7 @@ . * Copyright (C) 2008-2011 Laurent Destailleur + * Copyright (C) 2020 Frédéric France * * This program is free software; you can redistribute it and/or modifyion 2.0 (the "License"); * it under the terms of the GNU General Public License as published bypliance with the License. @@ -17,6 +18,9 @@ */ if (!defined('REQUIRE_JQUERY_BLOCKUI')) define('REQUIRE_JQUERY_BLOCKUI', 1); +if (!defined('NOTOKENRENEWAL')) { + define('NOTOKENRENEWAL', 1); +} /** diff --git a/htdocs/admin/dolistore/class/dolistore.class.php b/htdocs/admin/dolistore/class/dolistore.class.php index 251322ea798..a229f3c985d 100644 --- a/htdocs/admin/dolistore/class/dolistore.class.php +++ b/htdocs/admin/dolistore/class/dolistore.class.php @@ -213,19 +213,17 @@ class Dolistore { $cat = $this->categories[$i]; if ($cat->is_root_category == 1 && $parent == 0) { - $html .= '
  • '.$cat->name->language[$this->lang - 1].' '.$cat->nb_products_recursive.'

    '; - $html .= self::get_categories($cat->id); - $html .= "
  • \n"; + $html .= '
  • description->language[$this->lang - 1])).'">'.$cat->name->language[$this->lang - 1].' '.$cat->nb_products_recursive.'

    '; + $html .= self::get_categories($cat->id); + $html .= "
  • \n"; } elseif (trim($cat->id_parent) == $parent && $cat->active == 1 && trim($cat->id_parent) != 0) { // si cat est de ce niveau $select = ($cat->id == $this->categorie) ? ' selected' : ''; - $html .= '
  • '.$cat->name->language[$this->lang - 1].' '.$cat->nb_products_recursive.''; - $html .= self::get_categories($cat->id); - $html .= "
  • \n"; - } else { + $html .= '
  • description->language[$this->lang - 1])).'" '; + $html .= '>'.$cat->name->language[$this->lang - 1].' '.$cat->nb_products_recursive.''; + $html .= self::get_categories($cat->id); + $html .= "
  • \n"; } } @@ -250,11 +248,8 @@ class Dolistore // phpcs:enable global $langs, $conf; $html = ""; - $parity = "pair"; $last_month = time() - (30 * 24 * 60 * 60); foreach ($this->products as $product) { - $parity = ($parity == "impair") ? 'pair' : 'impair'; - // check new product ? $newapp = ''; if ($last_month < strtotime($product->date_add)) { @@ -269,8 +264,8 @@ class Dolistore // add image or default ? if ($product->id_default_image != '') { $image_url = DOL_URL_ROOT.'/admin/dolistore/ajax/image.php?id_product='.$product->id.'&id_image='.$product->id_default_image; - $images = ''. - ''; + $images = ''; + $images .= ''; } else { $images = ''; } @@ -308,16 +303,16 @@ class Dolistore //.'
    '.$langs->trans("SeeInMarkerPlace").' //output template - $html .= ' + $html .= '
    '.$newapp.$images.'

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

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

    '.$product->description_short->language[$this->lang - 1].' - '.$product->description->language[$this->lang - 1].' - '.$price.' - - '.$download_link.' - '; + '.dol_print_date(dol_stringtotime($product->date_upd), 'dayhour').' - '.$langs->trans('Ref').': '.$product->reference.' - '.$langs->trans('Id').': '.$product->id.'

    '.$product->description_short->language[$this->lang - 1].''; + // do not load if display none + //$html .= ''.$product->description->language[$this->lang - 1].''; + $html .= ''.$price.''; + $html .= ''.$download_link.''; + $html .= ''; } return $html; } diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 74592ff777a..80161eaadc6 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -592,7 +592,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; $htmltext = $langs->transnoentitiesnoconv("OperationParamDesc"); //var_dump($htmltext); - print $form->textwithpicto('', $htmltext); + print $form->textwithpicto('', $htmltext, 1, 'help', '', 0, 2, 'operationparamtt'); print ''; print ''; print ''; @@ -643,7 +643,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; // Delete print ''; - print ''.img_edit().''; + print ''.img_edit().''; print ' '.img_delete().''; print ''; print ''; diff --git a/htdocs/admin/emailcollector_list.php b/htdocs/admin/emailcollector_list.php index d2c52da585b..f180cdf10cf 100644 --- a/htdocs/admin/emailcollector_list.php +++ b/htdocs/admin/emailcollector_list.php @@ -476,7 +476,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index af1c7c88698..d076e77bf44 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -368,20 +368,20 @@ foreach ($dirmodels as $reldir) { if (file_exists($dir.'/'.$file)) { - $name = substr($file, 4, dol_strlen($file) -16); - $classname = substr($file, 0, dol_strlen($file) -12); + $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; + $modulequalified = 1; + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified = 0; + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified = 0; if ($modulequalified) { print ''; - print (empty($module->name)?$name:$module->name); + print (empty($module->name) ? $name : $module->name); print "\n"; if (method_exists($module, 'info')) print $module->info($langs); else print $module->description; diff --git a/htdocs/admin/external_rss.php b/htdocs/admin/external_rss.php index cc2edb550a0..8aa1a425778 100644 --- a/htdocs/admin/external_rss.php +++ b/htdocs/admin/external_rss.php @@ -240,9 +240,9 @@ dol_syslog("select rss boxes", LOG_DEBUG); $resql = $db->query($sql); if ($resql) { - $boxlist = InfoBox::listBoxes($db, 'activated', -1, null); - $num = $db->num_rows($resql); - $i = 0; + $boxlist = InfoBox::listBoxes($db, 'activated', -1, null); + $num = $db->num_rows($resql); + $i = 0; while ($i < $num) { @@ -271,19 +271,19 @@ if ($resql) print ''; print ''; print ''; - print ""."\n"; + print ''."\n"; print ''; print "".$langs->trans("Title").""; print "global->$keyrsstitle)."\">"; - print ""."\n"; + print ''."\n"; print ''; print "".$langs->trans("URL").""; print "global->$keyrssurl)."\">"; - print ""."\n"; + print ''."\n"; print ''; @@ -301,7 +301,7 @@ if ($resql) print '
    '; } print ""; - print ""."\n"; + print ''."\n"; // Logo if ($result > 0 && empty($rss->error)) @@ -315,7 +315,7 @@ if ($resql) if ($imageurl) print ''; else print $langs->trans("None"); print ''; - print ""."\n"; + print ''."\n"; } // Active @@ -323,11 +323,11 @@ if ($resql) print ''; print ''.$langs->trans('WidgetEnabled').''; print ''.yn($active).''; - print ""."\n"; + print ''."\n"; print ''."\n"; - print ""."\n"; + print "\n"; $i++; } @@ -350,9 +350,9 @@ $db->close(); */ function _isInBoxList($idrss, array $boxlist) { - foreach($boxlist as $box) + foreach ($boxlist as $box) { - if($box->boxcode === "lastrssinfos" && strpos($box->note, $idrss) !== false) + if ($box->boxcode === "lastrssinfos" && strpos($box->note, $idrss) !== false) { return true; } diff --git a/htdocs/admin/facture_situation.php b/htdocs/admin/facture_situation.php index ce327cc5187..223045db2e9 100644 --- a/htdocs/admin/facture_situation.php +++ b/htdocs/admin/facture_situation.php @@ -36,13 +36,13 @@ require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; // Load translation files required by the page $langs->loadLangs(array('admin', 'errors', 'other', 'bills')); -if (! $user->admin) accessforbidden(); +if (!$user->admin) accessforbidden(); $action = GETPOST('action', 'alpha'); $value = GETPOST('value', 'alpha'); $label = GETPOST('label', 'alpha'); $scandir = GETPOST('scan_dir', 'alpha'); -$type='invoice'; +$type = 'invoice'; /* @@ -57,17 +57,17 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php'; * View */ -$dirmodels=array_merge(array('/'), (array) $conf->modules_parts['models']); +$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); llxHeader( "", $langs->trans("BillsSetup"), 'EN:Invoice_Configuration|FR:Configuration_module_facture|ES:ConfiguracionFactura' ); -$form=new Form($db); +$form = new Form($db); -$linkback=''.$langs->trans("BackToModuleList").''; +$linkback = ''.$langs->trans("BackToModuleList").''; print load_fiche_titre($langs->trans("BillsSetup"), $linkback, 'title_setup'); $head = invoice_admin_prepare_head(); @@ -106,12 +106,12 @@ $arrayAvailableType = array( ); $selected = array(); $implodeglue = '+'; -if(!empty($conf->global->{$confkey}) && !is_array($conf->global->{$confkey})){ +if (!empty($conf->global->{$confkey}) && !is_array($conf->global->{$confkey})) { $selected = explode('+', $conf->global->{$confkey}); } -$curentInput = (empty($inputCount)?1:($inputCount+1)); -$formSelectInvoiceType = $form->selectarray('value'. $curentInput, $arrayAvailableType, $selected, 1); +$curentInput = (empty($inputCount) ? 1 : ($inputCount + 1)); +$formSelectInvoiceType = $form->selectarray('value'.$curentInput, $arrayAvailableType, $selected, 1); _printInputFormPart($confkey, $langs->trans('AllowedInvoiceForRetainedWarranty'), '', array(), $formSelectInvoiceType); //_printOnOff('INVOICE_RETAINED_WARRANTY_LIMITED_TO_SITUATION', $langs->trans('RetainedwarrantyOnlyForSituation')); @@ -126,7 +126,7 @@ $metas = array( _printInputFormPart('INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT', $langs->trans('RetainedwarrantyDefaultPercent'), '', $metas); // Conditions paiements -$inputCount = empty($inputCount)?1:($inputCount+1); +$inputCount = empty($inputCount) ? 1 : ($inputCount + 1); print ''; print ''.$langs->trans('PaymentConditionsShortRetainedWarranty').''; print ' '; @@ -178,7 +178,7 @@ function _printOnOff($confkey, $title = false, $desc = '') global $langs; print ''; - print ''.($title?$title:$langs->trans($confkey)); + print ''.($title ? $title : $langs->trans($confkey)); if (!empty($desc)) { print '
    '.$langs->trans($desc).''; } @@ -206,14 +206,14 @@ function _printInputFormPart($confkey, $title = false, $desc = '', $metas = arra { global $langs, $conf, $db, $inputCount; - $inputCount = empty($inputCount)?1:($inputCount+1); - $form=new Form($db); + $inputCount = empty($inputCount) ? 1 : ($inputCount + 1); + $form = new Form($db); $defaultMetas = array( 'name' => 'value'.$inputCount ); - if ($type!='textarea') { + if ($type != 'textarea') { $defaultMetas['type'] = 'text'; $defaultMetas['value'] = $conf->global->{$confkey}; } @@ -229,9 +229,9 @@ function _printInputFormPart($confkey, $title = false, $desc = '', $metas = arra print ''; if (!empty($help)) { - print $form->textwithtooltip(($title?$title:$langs->trans($confkey)), $langs->trans($help), 2, 1, img_help(1, '')); + print $form->textwithtooltip(($title ? $title : $langs->trans($confkey)), $langs->trans($help), 2, 1, img_help(1, '')); } else { - print $title?$title:$langs->trans($confkey); + print $title ? $title : $langs->trans($confkey); } if (!empty($desc)) { @@ -244,12 +244,12 @@ function _printInputFormPart($confkey, $title = false, $desc = '', $metas = arra print ''; print ''; - if ($type=='textarea') { + if ($type == 'textarea') { print ''; - }elseif($type=='input'){ + }elseif ($type == 'input') { print ''; } - else{ + else { // custom print $type; } diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index ab67974c920..1b088f0c2b9 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -122,6 +122,10 @@ if ($action == 'update') if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLE', $conf->entity); else dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLE', $val, 'chaine', 0, '', $conf->entity); + $val=(implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLELINK'), array())))); + if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLELINK', $conf->entity); + else dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLELINK', $val, 'chaine', 0, '', $conf->entity); + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEIMPAIR1'), array())))); if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_LINEIMPAIR1', $conf->entity); else dolibarr_set_const($db, 'THEME_ELDY_LINEIMPAIR1', $val, 'chaine', 0, '', $conf->entity); @@ -160,7 +164,6 @@ if ($action == 'update') dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", GETPOST("MAIN_FIRSTNAME_NAME_POSITION", 'aZ09'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", GETPOST('MAIN_HELPCENTER_DISABLELINK', 'aZ09'), 'chaine', 0, '', 0); // Param for all entities dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr(GETPOST("main_motd", 'none')), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr(GETPOST("main_home", 'none')), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", GETPOST("MAIN_HELP_DISABLELINK", 'aZ09'), 'chaine', 0, '', 0); // Param for all entities @@ -278,8 +281,10 @@ print ''; // Disable javascript and ajax print ''.$langs->trans("DisableJavascript").''; print ajax_constantonoff("MAIN_DISABLE_JAVASCRIPT", array(), $conf->entity, 0, 0, 1, 0); +print '     '.$langs->trans("DisableJavascriptNote").''; +print ''; +print ''; print ''; -print ' '; print ''; // Max size of lists @@ -392,6 +397,13 @@ print ''.$langs->trans("LoginPage print ' '; print ''; +// Hide helpcenter link on login page +print ''.$langs->trans("DisableLinkToHelpCenter").''; +print ajax_constantonoff("MAIN_HELPCENTER_DISABLELINK", array(), $conf->entity, 0, 0, 0, 0); +print ''; +print ' '; +print ''; + // Message on login page $substitutionarray = getCommonSubstitutionArray($langs, 0, array('object', 'objectamount', 'user')); complete_substitutions_array($substitutionarray, $langs); @@ -407,13 +419,6 @@ $doleditor = new DolEditor('main_home', (isset($conf->global->MAIN_HOME) ? $conf $doleditor->Create(); print ''."\n"; -// Hide helpcenter link on login page -print ''.$langs->trans("DisableLinkToHelpCenter").''; -print $form->selectyesno('MAIN_HELPCENTER_DISABLELINK', isset($conf->global->MAIN_HELPCENTER_DISABLELINK) ? $conf->global->MAIN_HELPCENTER_DISABLELINK : 0, 1); -print ''; -print ' '; -print ''; - // Background print ''; print '
    '; diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index 1a55fbc04ee..1a27d61e55d 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -67,12 +67,12 @@ if (!empty($conf->global->MAIN_MOTD_SETUPPAGE)) } } -print ''; -print $langs->trans("SetupDescription1"); +print ''; +print $langs->trans("SetupDescription1").' '; print $langs->trans("AreaForAdminOnly").' '; print $langs->trans("SetupDescription2", $langs->transnoentities("MenuCompanySetup"), $langs->transnoentities("Modules")); -print ''; print "

    "; +print '
    '; print '
    '; diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index d828873be36..0646c7f6d46 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -209,6 +209,8 @@ else // Show examples print load_fiche_titre($langs->trans("ExamplesWithCurrentSetup"), '', ''); + print ''.$langs->trans("Format").': '.price(price2num(1234.56789, 'MT'), 0, $langs, 1, -1, -1, $currencycode)."
    \n"; + // Always show vat rates with vat 0 $s = 2 / 7; $qty = 1; $vat = 0; $tmparray = calcul_price_total(1, $qty * price2num($s, 'MU'), 0, $vat, 0, 0, 0, 'HT', 0, 0, $mysoc); diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index f2d27cf2849..37d1f903b4a 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -536,7 +536,7 @@ $errors = $hookmanager->errors; // Line to enter new values (input fields) -print ""; +print ''; if (empty($reshook)) { @@ -754,9 +754,9 @@ if ($resql) print ''; print ''; print ''; - print ''; + print ''; print '
    '; - print ''; + print ''; print ''; $fieldsforcontent = array('topic', 'joinfiles', 'content'); @@ -902,10 +902,10 @@ if ($resql) // Modify link / Delete link print ''; - if ($canbemodified) print ''.img_edit().''; + if ($canbemodified) print ''.img_edit().''; if ($iserasable) { - print '   '.img_delete().''; + print ''.img_delete().''; //else print ''.img_delete().''; // Some dictionary can be edited by other profile than admin } print ''; @@ -976,12 +976,9 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf, $langs, $user, $db; global $form; - global $region_id; - global $elementList, $sourceList, $localtax_typeList; - global $bc; + global $elementList, $sourceList; $formadmin = new FormAdmin($db); - $formcompany = new FormCompany($db); foreach ($fieldlist as $field => $value) { diff --git a/htdocs/admin/menus/index.php b/htdocs/admin/menus/index.php index cc83e019833..97f0246ac88 100644 --- a/htdocs/admin/menus/index.php +++ b/htdocs/admin/menus/index.php @@ -277,8 +277,8 @@ print ''; print ''; print ''; -print ''; +print ''; print ''; print ''; @@ -325,6 +325,22 @@ if ($conf->use_javascript_ajax) if (!empty($menu['langs'])) $langs->load($menu['langs']); $titre = $langs->trans($menu['titre']); + $entry = '
    '.$langs->trans("TreeMenuPersonalized").'
    '; + $entry .= '   '.$titre.''; + $entry .= ''; + $entry .= ''.img_edit('default', 0, 'class="menuEdit" id="edit'.$menu['rowid'].'"').' '; + $entry .= ''.img_edit_add('default').' '; + $entry .= ''.img_delete('default').' '; + $entry .= '     '; + $entry .= ''.img_picto("Up", "1uparrow").''.img_picto("Down", "1downarrow").''; + $entry .= '
    '; + + $buttons = ''.img_edit('default', 0, 'class="menuEdit" id="edit'.$menu['rowid'].'"').' '; + $buttons .= ''.img_edit_add('default').' '; + $buttons .= ''.img_delete('default').' '; + $buttons .= '     '; + $buttons .= ''.img_picto("Up", "1uparrow").''.img_picto("Down", "1downarrow").''; + $data[] = array( 'rowid'=>$menu['rowid'], 'module'=>$menu['module'], @@ -335,20 +351,8 @@ if ($conf->use_javascript_ajax) 'fk_mainmenu'=>$menu['fk_mainmenu'], 'fk_leftmenu'=>$menu['fk_leftmenu'], 'position'=>$menu['position'], - 'entry'=>'
    '. - '   '.$titre.''. - ''. - ''.img_edit('default', 0, 'class="menuEdit" id="edit'.$menu['rowid'].'"').' '. - ''.img_edit_add('default').' '. - ''.img_delete('default').' '. - '     '. - ''.img_picto("Up", "1uparrow").''.img_picto("Down", "1downarrow").''. - '
    ', - 'buttons'=>''.img_edit('default', 0, 'class="menuEdit" id="edit'.$menu['rowid'].'"').' '. - ''.img_edit_add('default').' '. - ''.img_delete('default').' '. - '     '. - ''.img_picto("Up", "1uparrow").''.img_picto("Down", "1downarrow").'' + 'entry'=>$entry, + 'buttons'=>$buttons ); $i++; } diff --git a/htdocs/admin/modulehelp.php b/htdocs/admin/modulehelp.php index 339b98be44a..d5bf12f1061 100644 --- a/htdocs/admin/modulehelp.php +++ b/htdocs/admin/modulehelp.php @@ -387,7 +387,7 @@ if ($mode == 'feature') $filedata = dol_buildpath($moduledir.'/sql/data.sql'); if (dol_is_file($filedata)) { - $text .= $langs->trans("Yes").' ('.$moduledir.'/sql/data.sql'.')'; + $text .= $langs->trans("Yes").' ('.$moduledir.'/sql/data.sql)'; } else $text .= $langs->trans("No"); diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 926a4c34f70..c0f1991835b 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -412,11 +412,13 @@ foreach ($modulesdir as $dir) } $familyposition = $familyinfo[$familykey]['position']; - if ($external) + $listOfOfficialModuleGroups = array('hr', 'technic', 'interface', 'technic', 'portal', 'financial', 'crm', 'base', 'products', 'srm', 'ecm', 'projects', 'other'); + if ($external && ! in_array($familykey, $listOfOfficialModuleGroups)) { - // TODO Find a solution so modules with their own family are always at end - //var_dump($familyposition); - //$familyposition += 100; + // If module is extern and into a custom group (not into an official predefined one), it must appear at end (custom groups should not be before official groups). + if (is_numeric($familyposition)) { + $familyposition = sprintf("%03d", (int) $familyposition + 100); + } } $orders[$i] = $familyposition."_".$familykey."_".$moduleposition."_".$j; // Sort by family, then by module position then number @@ -678,7 +680,9 @@ if ($mode == 'common' || $mode == 'commonkanban') if (preg_match('/development/i', $version)) $versiontrans .= img_warning($langs->trans("Development"), 'style="float: left"'); if (preg_match('/experimental/i', $version)) $versiontrans .= img_warning($langs->trans("Experimental"), 'style="float: left"'); if (preg_match('/deprecated/i', $version)) $versiontrans .= img_warning($langs->trans("Deprecated"), 'style="float: left"'); - $versiontrans .= $objMod->getVersion(1); + if ($objMod->isCoreOrExternalModule() == 'external' || preg_match('/development|experimental|deprecated/i', $version)) { + $versiontrans .= $objMod->getVersion(1); + } // Define imginfo $imginfo = "info"; diff --git a/htdocs/admin/multicurrency.php b/htdocs/admin/multicurrency.php index a2db56549e3..4ba581398ee 100644 --- a/htdocs/admin/multicurrency.php +++ b/htdocs/admin/multicurrency.php @@ -281,8 +281,8 @@ if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION)) print ''.$form->textwithpicto($langs->trans("CurrencyLayerAccount"), $langs->trans("CurrencyLayerAccount_help_to_synchronize", $urlforapilayer)).''."\n"; print ''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; print ''; diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index 99643401386..ba92aa1ec21 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -34,10 +34,12 @@ require_once DOL_DOCUMENT_ROOT.'/core/triggers/interface_50_modNotification_Noti $langs->loadLangs(array('admin', 'other', 'orders', 'propal', 'bills', 'errors', 'mails')); // Security check -if (!$user->admin) - accessforbidden(); +if (!$user->admin) { + accessforbidden(); +} $action = GETPOST('action', 'aZ09'); +$error = 0; /* @@ -45,27 +47,48 @@ $action = GETPOST('action', 'aZ09'); */ // Action to update or add a constant -if ($action == 'update' || $action == 'add') +if ($action == 'settemplates') { - $constlineid = GETPOST('rowid', 'int'); - $constname=GETPOST('constname', 'alpha'); + $db->begin(); - $constvalue=(GETPOSTISSET('constvalue_'.$constname) ? GETPOST('constvalue_'.$constname, 'alpha') : GETPOST('constvalue')); - $consttype=(GETPOSTISSET('consttype_'.$constname) ? GETPOST('consttype_'.$constname, 'alphanohtml') : GETPOST('consttype')); - $constnote=(GETPOSTISSET('constnote_'.$constname) ? GETPOST('constnote_'.$constname, 'none') : GETPOST('constnote')); - - $typetouse = empty($oldtypetonewone[$consttype]) ? $consttype : $oldtypetonewone[$consttype]; - - $res=dolibarr_set_const($db, $constname, $constvalue, $typetouse, 0, $constnote, $conf->entity); - - if (! $res > 0) $error++; - - if (! $error) + if (!$error && is_array($_POST)) { + $reg = array(); + foreach ($_POST as $key => $val) + { + if (!preg_match('/^constvalue_(.*)_TEMPLATE/', $key, $reg)) continue; + + $triggername = $reg[1]; + $constvalue = GETPOST($key, 'alpha'); + $consttype = 'emailtemplate:xxx'; + $tmparray=explode(':', $constvalue); + if (! empty($tmparray[0]) && ! empty($tmparray[1])) { + $constvalue = $tmparray[0]; + $consttype = 'emailtemplate:'.$tmparray[1]; + //var_dump($constvalue); + //var_dump($consttype); + $res = dolibarr_set_const($db, $triggername.'_TEMPLATE', $constvalue, $consttype, 0, '', $conf->entity); + if ($res < 0) { + $error++; + break; + } + } else { + $res = dolibarr_del_const($db, $triggername.'_TEMPLATE', $conf->entity); + } + } + } + + + if (!$error) + { + $db->commit(); + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } else { + $db->rollback(); + setEventMessages($langs->trans("Error"), null, 'errors'); } } @@ -74,12 +97,31 @@ if ($action == 'setvalue' && $user->admin) { $db->begin(); - $result = dolibarr_set_const($db, "NOTIFICATION_EMAIL_FROM", $_POST["email_from"], 'chaine', 0, '', $conf->entity); + $result = dolibarr_set_const($db, "NOTIFICATION_EMAIL_FROM", GETPOST("email_from", "none"), 'chaine', 0, '', $conf->entity); if ($result < 0) $error++; + + if (!$error) + { + $db->commit(); + + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } + else + { + $db->rollback(); + + setEventMessages($langs->trans("Error"), null, 'errors'); + } +} + + +if ($action == 'setfixednotif' && $user->admin) +{ + $db->begin(); + if (!$error && is_array($_POST)) { - //var_dump($_POST); $reg = array(); foreach ($_POST as $key => $val) { @@ -101,7 +143,7 @@ if ($action == 'setvalue' && $user->admin) } elseif (preg_match('/^NOTIF_(.*)_new_key/', $key, $reg)) { - // Add a new entry + // Add a new entry $newkey = 'NOTIFICATION_FIXEDEMAIL_'.$reg[1].'_THRESHOLD_HIGHER_'.((int) GETPOST($shortkey.'_amount')); $newval = GETPOST($shortkey.'_key'); } @@ -168,9 +210,18 @@ print ''; print ''; print ''; +print '
    '; + +print ''; + + print '

    '; +print '
    '; +print ''; +print ''; + // Notification per contacts $title = $langs->trans("ListOfNotificationsPerUser"); if (!empty($conf->societe->enabled)) $title = $langs->trans("ListOfNotificationsPerUserOrContact"); @@ -183,7 +234,7 @@ $listofnotifiedevents = $notificationtrigger->getListOfManagedEvents(); if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { // Editing global variables not related to a specific theme - $constantes=array(); + $constantes = array(); foreach ($listofnotifiedevents as $notifiedevent) { $label = $langs->trans("Notify_".$notifiedevent['code']); //!=$langs->trans("Notify_".$notifiedevent['code'])?$langs->trans("Notify_".$notifiedevent['code']):$notifiedevent['label']; @@ -210,8 +261,8 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { $constantes[$notifiedevent['code'].'_TEMPLATE'] = array('type'=>'emailtemplate:'.$model, 'label'=>$label); } - $helptext=''; - form_constantes($constantes, 0, $helptext); + $helptext = ''; + form_constantes($constantes, 2, $helptext); } else { print ''; print ''; @@ -248,14 +299,18 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { print '
    '; } -print '
    '; -print '* '.$langs->trans("GoOntoUserCardToAddMore").'
    '; -if (!empty($conf->societe->enabled)) print '** '.$langs->trans("GoOntoContactCardToAddMore").'
    '; +print '
    '; + +print ''; + -print '
    '; print '

    '; +print '
    '; +print ''; +print ''; + print load_fiche_titre($langs->trans("ListOfFixedNotifications"), '', ''); print ''; @@ -265,7 +320,7 @@ print ''; print ''; print ''; print ''; -print ''; +print ''; print "\n"; foreach ($listofnotifiedevents as $notifiedevent) @@ -333,6 +388,12 @@ foreach ($listofnotifiedevents as $notifiedevent) } print '
    '.$langs->trans("Code").''.$langs->trans("Label").''.$langs->trans("FixedEmailTarget").''.$langs->trans("Threshold").''.'
    '; +print '
    '; +print '* '.$langs->trans("GoOntoUserCardToAddMore").'
    '; +if (!empty($conf->societe->enabled)) print '** '.$langs->trans("GoOntoContactCardToAddMore").'
    '; + +print '
    '; + print '
    '; print '
    '; diff --git a/htdocs/admin/payment.php b/htdocs/admin/payment.php index e740150e1d5..a5b494b62e2 100644 --- a/htdocs/admin/payment.php +++ b/htdocs/admin/payment.php @@ -1,5 +1,6 @@ + * Copyright (C) 2020 Maxime DEMAREST * * This 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,11 +71,12 @@ if ($action == 'setmod') if ($action == 'setparams') { $freetext = GETPOST('FACTURE_PAYMENTS_ON_DIFFERENT_THIRDPARTIES_BILLS', 'none'); // No alpha here, we want exact string - $res = dolibarr_set_const($db, "FACTURE_PAYMENTS_ON_DIFFERENT_THIRDPARTIES_BILLS", $freetext, 'chaine', 0, '', $conf->entity); - if (!$res > 0) $error++; + $res = dolibarr_set_const($db, "PAYMENTS_REPORT_GROUP_BY_MOD", GETPOST('PAYMENTS_REPORT_GROUP_BY_MOD', 'int'), 'chaine', 0, '', $conf->entity); + if (!$res > 0) $error++; + if ($error) { setEventMessages($langs->trans("Error"), null, 'errors'); @@ -253,6 +255,14 @@ print $form->selectyesno("FACTURE_PAYMENTS_ON_DIFFERENT_THIRDPARTIES_BILLS", $co print ''; print "\n"; +// Allow to group payments by mod in rapports +print ''; +print $langs->trans("GroupPaymentsByModOnReports"); +print ''; +print $form->selectyesno("PAYMENTS_REPORT_GROUP_BY_MOD", $conf->global->PAYMENTS_REPORT_GROUP_BY_MOD, 1); +print ''; +print "\n"; + print ''; print '
    '; diff --git a/htdocs/admin/supplier_payment.php b/htdocs/admin/supplier_payment.php index d533ba0d8eb..5d7a0d0b8d5 100644 --- a/htdocs/admin/supplier_payment.php +++ b/htdocs/admin/supplier_payment.php @@ -1,6 +1,7 @@ * Copyright (C) 2016 Laurent Destailleur + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -144,6 +145,23 @@ elseif ($action == 'specimen') } } + + +elseif ($action == 'setparams') +{ + $res = dolibarr_set_const($db, "PAYMENTS_FOURN_REPORT_GROUP_BY_MOD", GETPOST('PAYMENTS_FOURN_REPORT_GROUP_BY_MOD', 'int'), 'chaine', 0, '', $conf->entity); + if (!$res > 0) $error++; + + if ($error) + { + setEventMessages($langs->trans("Error"), null, 'errors'); + } + if (!$error) + { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } +} + /* * View */ @@ -428,8 +446,46 @@ foreach ($dirmodels as $reldir) print ''; +/* + * Other Options + */ + +print "
    "; + +print load_fiche_titre($langs->trans("OtherOptions"), '', ''); + +print ''; +print ''; +print ''; + +print '
    '; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +// Allow to group payments by mod in rapports +print '\n"; + +print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").' 
    '; +print $langs->trans("GroupPaymentsByModOnReports"); +print ''; +print $form->selectyesno("PAYMENTS_FOURN_REPORT_GROUP_BY_MOD", $conf->global->PAYMENTS_FOURN_REPORT_GROUP_BY_MOD, 1); +print ''; +print "
    '; + dol_fiche_end(); +print '
    '; +print '
    '; +print ''; +print '
    '; +print '
    '; + +print ''; + // End of page llxFooter(); $db->close(); diff --git a/htdocs/admin/system/perf.php b/htdocs/admin/system/perf.php index fcfe25ce3d3..dd77c41a673 100644 --- a/htdocs/admin/system/perf.php +++ b/htdocs/admin/system/perf.php @@ -66,7 +66,7 @@ if ($test) print img_picto('', 'tick.png').' '.$langs->trans("NotInstalled"); else { print img_picto('', 'warning').' '.$langs->trans("ModuleActivated", $langs->transnoentities("XDebug")); - print ' - '.$langs->trans("MoreInformation").' XDebug admin page'; + print ' - '.$langs->trans("MoreInformation").' XDebug admin page'; } print '
    '; @@ -123,7 +123,7 @@ if (!$foundcache && $test) { $foundcache++; print img_picto('', 'tick.png').' '.$langs->trans("PHPModuleLoaded", "XCache"); - print ' '.$langs->trans("MoreInformation").' Xcache admin page'; + print ' '.$langs->trans("MoreInformation").' Xcache admin page'; } $test = function_exists('eaccelerator_info'); if (!$foundcache && $test) diff --git a/htdocs/admin/system/phpinfo.php b/htdocs/admin/system/phpinfo.php index ce21c1f3ad8..04439d11710 100644 --- a/htdocs/admin/system/phpinfo.php +++ b/htdocs/admin/system/phpinfo.php @@ -143,7 +143,7 @@ $loadedExtensions = array_map('strtolower', get_loaded_extensions(false)); print ''; print ''; print ''; -print ''; +//print ''; print ''; print ''; print ''; @@ -154,7 +154,7 @@ $name = "GD"; print ""; print ""; -print getTableColumn($name, $activatedExtensions); +//print getTableColumn($name, $activatedExtensions); print getTableColumn($name, $loadedExtensions); print getTableColumnFunction($functions); print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions); @@ -165,7 +165,7 @@ $name = "Curl"; print ""; print ""; -print getTableColumn($name, $activatedExtensions); +//print getTableColumn($name, $activatedExtensions); print getTableColumn($name, $loadedExtensions); print getTableColumnFunction($functions); print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions); @@ -178,7 +178,7 @@ if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@loc print ""; print ""; - print getTableColumn($name, $activatedExtensions); + //print getTableColumn($name, $activatedExtensions); print getTableColumn($name, $loadedExtensions); print getTableColumnFunction($functions); print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions); @@ -191,7 +191,7 @@ $name = "xDebug"; print ""; print ""; -print getTableColumn($name, $activatedExtensions); +//print getTableColumn($name, $activatedExtensions); print getTableColumn($name, $loadedExtensions); print getTableColumnFunction($functions); print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions); @@ -208,7 +208,6 @@ foreach ($phparray as $key => $value) print '
    '; print '
    '.$langs->trans("Extension").''.$langs->trans("EnabledInSetup").''.$langs->trans("EnabledInSetup").''.$langs->trans("Loaded").''.$langs->trans("FunctionTest").''.$langs->trans("Result").'
    ".$name."
    ".$name."
    ".$name."
    ".$name."
    '; print ''; - //print ''; print ''; print ''; print "\n"; @@ -408,7 +407,7 @@ function getResultColumn($name, array $activated, array $loaded, array $function global $langs; $result = true; - $result = $result && in_array(strtolower($name), $activated); + //$result = $result && in_array(strtolower($name), $activated); $result = $result && in_array(strtolower($name), $loaded); foreach ($functions as $function) diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 68bbd03162f..1ad21490e4b 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -200,7 +200,6 @@ if (in_array($type, array('mysql', 'mysqli'))) { print '
    '; print ''; print ''; - print '
    '; if (!empty($conf->global->MYSQL_OLD_OPTION_DISABLE_FK)) { @@ -303,7 +302,7 @@ if (in_array($type, array('mysql', 'mysqli'))) { print '
    '; print '
    '.$langs->trans('ExportStructure').''; - print ''; + print ''; print ''; print '
    '; print '
    '; diff --git a/htdocs/admin/tools/listsessions.php b/htdocs/admin/tools/listsessions.php index eb4caa4bf3d..253f4919092 100644 --- a/htdocs/admin/tools/listsessions.php +++ b/htdocs/admin/tools/listsessions.php @@ -41,11 +41,12 @@ if ($user->socid > 0) $socid = $user->socid; } +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "DESC"; diff --git a/htdocs/admin/tools/purge.php b/htdocs/admin/tools/purge.php index 43cf81b41ba..9898e290ddc 100644 --- a/htdocs/admin/tools/purge.php +++ b/htdocs/admin/tools/purge.php @@ -78,7 +78,7 @@ $form = new Form($db); print load_fiche_titre($langs->trans("Purge"), '', 'title_setup'); -print $langs->trans("PurgeAreaDesc", $dolibarr_main_data_root).'
    '; +print ''.$langs->trans("PurgeAreaDesc", $dolibarr_main_data_root).'
    '; print '
    '; diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 520cee44913..c17c2bdcee6 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -365,9 +365,9 @@ if ($mode == 'overwrite') } else { - print ''.img_edit().''; + print ''.img_edit().''; print '   '; - print ''.img_delete().''; + print ''.img_delete().''; } print ''; @@ -531,8 +531,8 @@ if ($mode == 'searchkey') { $obj = $db->fetch_object($result); } - print ''.img_edit().''; - print '  '; + print ''.img_edit().''; + print ' '; print ''.img_delete().''; print '  '; $htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]); @@ -541,7 +541,7 @@ if ($mode == 'searchkey') elseif (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION)) { //print $key.'-'.$val; - print ''.img_edit_add($langs->trans("Overwrite")).''; + print ''.img_edit_add($langs->trans("Overwrite")).''; } if (!empty($conf->global->MAIN_FEATURES_LEVEL)) diff --git a/htdocs/admin/user.php b/htdocs/admin/user.php index fb15a57a87e..60cbadcdd3a 100644 --- a/htdocs/admin/user.php +++ b/htdocs/admin/user.php @@ -177,6 +177,30 @@ else } print ''; +// user hide inactive + +print ''; +print ''; +print ''; + +print ''; + print '
    '.$langs->trans("Parameter").''.$key.''.$langs->trans("Value").'
    '.$langs->trans("UserHideInactive").' '; +if ($conf->use_javascript_ajax) +{ + print ajax_constantonoff('USER_HIDE_INACTIVE_IN_COMBOBOX'); +} +else +{ + if (empty($conf->global->USER_HIDE_INACTIVE_IN_COMBOBOX)) + { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } + else + { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } +} +print '
    '; print '
    '; diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 02abcf59660..99185cce733 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -85,11 +85,11 @@ $workflowcodes = array( 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify_order', 'position'=>41, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'order', 'warning'=>''), // For this option, if module invoice is disabled, it does not exists, so "Classify billed" for order must be done manually from order card. 'separator2'=>array('family'=>'separator', 'position'=>50), // Automatic classification supplier proposal - 'WORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL'=>array('family'=>'classify_supplier_proposal', 'position'=>60, 'enabled'=>'! empty($conf->supplier_proposal->enabled) && ! empty($conf->fournisseur->enabled)', 'picto'=>'propal', 'warning'=>''), + 'WORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL'=>array('family'=>'classify_supplier_proposal', 'position'=>60, 'enabled'=>'! empty($conf->supplier_proposal->enabled) && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))', 'picto'=>'propal', 'warning'=>''), // Automatic classification supplier order - 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER'=>array('family'=>'classify_supplier_order', 'position'=>62, 'enabled'=>'! empty($conf->fournisseur->enabled)', 'picto'=>'order', 'warning'=>''), + 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER'=>array('family'=>'classify_supplier_order', 'position'=>62, 'enabled'=>'!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)', 'picto'=>'order', 'warning'=>''), //Automatic classification reception - 'WORKFLOW_BILL_ON_RECEPTION'=>array('family'=>'classify_reception', 'position'=>64, 'enabled'=>'! empty($conf->reception->enabled) && ! empty($conf->fournisseur->enabled)', 'picto'=>'bill'), + 'WORKFLOW_BILL_ON_RECEPTION'=>array('family'=>'classify_reception', 'position'=>64, 'enabled'=>'! empty($conf->reception->enabled) && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))', 'picto'=>'bill'), ); if (!empty($conf->modules_parts['workflow']) && is_array($conf->modules_parts['workflow'])) diff --git a/htdocs/api/admin/index.php b/htdocs/api/admin/index.php index 73041f6c386..d0a0e79c855 100644 --- a/htdocs/api/admin/index.php +++ b/htdocs/api/admin/index.php @@ -153,7 +153,7 @@ $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domai // Show message $message = ''; $url = $urlwithroot.'/api/index.php/login?login=auserlogin&password=thepassword[&reset=1]'; -$message .= $langs->trans("UrlToGetKeyToUseAPIs").':
    '; +$message .= ''.$langs->trans("UrlToGetKeyToUseAPIs").':
    '; $message .= img_picto('', 'globe').' '.$url; print $message; print '
    '; diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php index 6b106efc450..5e051420748 100644 --- a/htdocs/api/class/api.class.php +++ b/htdocs/api/class/api.class.php @@ -137,6 +137,15 @@ class DolibarrApi unset($object->labelStatus); unset($object->labelStatusShort); + unset($object->stats_propale); + unset($object->stats_commande); + unset($object->stats_contrat); + unset($object->stats_facture); + unset($object->stats_commande_fournisseur); + unset($object->stats_reception); + unset($object->stats_mrptoconsume); + unset($object->stats_mrptoproduce); + unset($object->element); unset($object->fk_element); unset($object->table_element); diff --git a/htdocs/api/class/api_access.class.php b/htdocs/api/class/api_access.class.php index 866de6a53d2..339ddfd2ad6 100644 --- a/htdocs/api/class/api_access.class.php +++ b/htdocs/api/class/api_access.class.php @@ -18,7 +18,7 @@ // Create the autoloader for Luracast require_once DOL_DOCUMENT_ROOT.'/includes/restler/framework/Luracast/Restler/AutoLoader.php'; -call_user_func(function() { +call_user_func(function () { $loader = Luracast\Restler\AutoLoader::instance(); spl_autoload_register($loader); return $loader; diff --git a/htdocs/api/class/api_setup.class.php b/htdocs/api/class/api_setup.class.php index 1216cd67fe7..fd6432b553f 100644 --- a/htdocs/api/class/api_setup.class.php +++ b/htdocs/api/class/api_setup.class.php @@ -1409,15 +1409,15 @@ class Setup extends DolibarrApi * * Note that conf variables that stores security key or password hashes can't be loaded with API. * - * @url GET /conf - * - * @param string $confname Name of conf variable to get + * @param string $constantname Name of conf variable to get * @return array|mixed Data without useless information * + * @url GET conf/{constantname} + * * @throws RestException 403 Forbidden - * @throws RestException 500 Error Bad or unknown value for constname + * @throws RestException 500 Error Bad or unknown value for constantname */ - public function getConf($confname) + public function getConf($constantname) { global $conf; @@ -1426,14 +1426,14 @@ class Setup extends DolibarrApi throw new RestException(403, 'Error API open to admin users only or to the login user defined with constant API_LOGIN_ALLOWED_FOR_ADMIN_CHECK'); } - if (!preg_match('/^[a-zA-Z0-9_]+$/', $confname) || !isset($conf->global->$confname)) { - throw new RestException(500, 'Error Bad or unknown value for constname'); + if (!preg_match('/^[a-zA-Z0-9_]+$/', $constantname) || !isset($conf->global->$constantname)) { + throw new RestException(500, 'Error Bad or unknown value for constantname'); } - if (preg_match('/(_pass|password|secret|_key|key$)/i', $confname)) { + if (preg_match('/(_pass|_pw|password|secret|_key|key$)/i', $constantname)) { throw new RestException(403, 'Forbidden'); } - return $conf->global->$confname; + return $conf->global->$constantname; } /** diff --git a/htdocs/api/index.php b/htdocs/api/index.php index d27bd39e966..c5edbc74d66 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -44,7 +44,7 @@ if (!$res) die("Include of main fails"); require_once DOL_DOCUMENT_ROOT.'/includes/restler/framework/Luracast/Restler/AutoLoader.php'; -call_user_func(function() { +call_user_func(function () { $loader = Luracast\Restler\AutoLoader::instance(); spl_autoload_register($loader); return $loader; diff --git a/htdocs/asset/card.php b/htdocs/asset/card.php index ddb2eaed9c4..110d662c9e8 100644 --- a/htdocs/asset/card.php +++ b/htdocs/asset/card.php @@ -34,15 +34,18 @@ $langs->loadLangs(array("asset")); // Get parameters $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); -$action = GETPOST('action', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); $cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'myobjectcard'; // To manage different context of search $backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); // Initialize technical objects $object = new Asset($db); $extrafields = new ExtraFields($db); $diroutputmassaction = $conf->asset->dir_output.'/temp/massgeneration/'.$user->id; -$hookmanager->initHooks(array('assetcard')); // Note that conf->hooks_modules contains array +$hookmanager->initHooks(array('assetcard', 'globalcard')); // Note that conf->hooks_modules contains array // Fetch optionals attributes and labels $extrafields->fetch_name_optionals_label($object->table_element); @@ -59,23 +62,20 @@ foreach ($object->fields as $key => $val) if (empty($action) && empty($id) && empty($ref)) $action = 'view'; -// Security check - Protection if external user -//if ($user->socid > 0) accessforbidden(); -//if ($user->socid > 0) $socid = $user->socid; -//$result = restrictedArea($user, 'asset', $id); - // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + +$permissiontoread = $user->rights->asset->read; +$permissiontoadd = $user->rights->asset->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$permissiontodelete = $user->rights->asset->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT); $permissionnote = $user->rights->asset->write; // Used by the include of actions_setnotes.inc.php $permissiondellink = $user->rights->asset->write; // Used by the include of actions_dellink.inc.php -$permissiontoadd = $user->rights->asset->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$upload_dir = $conf->mymodule->multidir_output[isset($object->entity) ? $object->entity : 1]; /* * Actions - * - * Put here all code to do according to value of "action" parameter */ $parameters = array(); @@ -86,16 +86,35 @@ if (empty($reshook)) { $error = 0; - $permissiontoadd = $user->rights->asset->create; - $permissiontodelete = $user->rights->asset->delete; $backurlforlist = dol_buildpath('/asset/list.php', 1); // Actions cancel, add, update or delete include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; + + // Actions when linking object each other + include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; + // Actions when printing a doc from card include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; + // Action to move up and down lines of object + //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; + + // Action to build doc + include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; + + if ($action == 'set_thirdparty' && $permissiontoadd) + { + $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'MYOBJECT_MODIFY'); + } + if ($action == 'classin' && $permissiontoadd) + { + $object->setProject(GETPOST('projectid', 'int')); + } + // Actions to send emails $triggersendname = 'ASSET_SENTBYMAIL'; $autocopy = 'MAIN_MAIL_AUTOCOPY_ASSET_TO'; @@ -143,11 +162,12 @@ if ($action == 'create') print '
    '; print ''; print ''; - print ''; + if ($backtopage) print ''; + if ($backtopageforcancel) print ''; dol_fiche_head(array(), ''); - print ''."\n"; + print '
    '."\n"; // Common attributes include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_add.tpl.php'; @@ -166,6 +186,8 @@ if ($action == 'create') print ''; print ''; + + //dol_set_focus('input[name="ref"]'); } // Part to edit record @@ -178,10 +200,12 @@ if (($id || $ref) && $action == 'edit') print ''; print ''; print ''; + if ($backtopage) print ''; + if ($backtopageforcancel) print ''; dol_fiche_head(); - print '
    '."\n"; + print '
    '."\n"; // Common attributes include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_edit.tpl.php'; @@ -206,7 +230,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $res = $object->fetch_optionals(); $head = asset_prepare_head($object); - dol_fiche_head($head, 'card', $langs->trans("Asset"), -1, 'generic'); + dol_fiche_head($head, 'card', $langs->trans("Asset"), -1, $object->picto); $formconfirm = ''; @@ -255,10 +279,12 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print '
    '."\n"; // Common attributes - //$keyforbreak='fieldkeytoswithonsecondcolumn'; + //$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just after this field + //unset($object->fields['fk_project']); // Hide field already shown in banner + //unset($object->fields['fk_soc']); // Hide field already shown in banner include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php'; - // Other attributes + // Other attributes. Fields from hook formObjectOptions and Extrafields. include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; print '
    '; @@ -266,7 +292,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print '
    '; print ''; - print '

    '; + print '
    '; dol_fiche_end(); @@ -349,14 +375,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } //Select mail models is same action as presend - /* if (GETPOST('modelselected')) $action = 'presend'; // Presend form - $modelmail='inventory'; + /* + $modelmail='asset'; $defaulttopic='InformationMessage'; - $diroutput = $conf->product->dir_output.'/inventory'; - $trackid = 'stockinv'.$object->id; + $diroutput = $conf->asset->dir_output.'/asset'; + $trackid = 'asset'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php'; */ diff --git a/htdocs/asset/class/asset.class.php b/htdocs/asset/class/asset.class.php index 6fe78edad60..7c9d91d79e7 100644 --- a/htdocs/asset/class/asset.class.php +++ b/htdocs/asset/class/asset.class.php @@ -77,12 +77,12 @@ class Asset extends CommonObject */ public $fields = array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'visible'=>-1, 'enabled'=>1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",), - 'ref' => array('type'=>'varchar(10)', 'label'=>'Ref', 'visible'=>1, 'enabled'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object",), - 'entity' => array('type'=>'integer', 'label'=>'Entity', 'visible'=>-1, 'enabled'=>1, 'position'=>20, 'notnull'=>1, 'index'=>1,), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'visible'=>1, 'enabled'=>1, 'position'=>30, 'notnull'=>-1, 'searchall'=>1, 'help'=>"Help text",), + 'ref' => array('type'=>'varchar(10)', 'label'=>'Ref', 'visible'=>1, 'enabled'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object", 'showoncombobox'=>1), + 'entity' => array('type'=>'integer', 'label'=>'Entity', 'visible'=>0, 'enabled'=>1, 'position'=>20, 'notnull'=>1, 'index'=>1,), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'visible'=>1, 'enabled'=>1, 'position'=>30, 'notnull'=>-1, 'searchall'=>1), 'amount_ht' => array('type'=>'double(24,8)', 'label'=>'AmountHTShort', 'visible'=>1, 'enabled'=>1, 'position'=>40, 'notnull'=>-1, 'isameasure'=>'1', 'help'=>"Help text",), 'amount_vat' => array('type'=>'double(24,8)', 'label'=>'AmountVAT', 'visible'=>1, 'enabled'=>1, 'position'=>40, 'notnull'=>-1, 'isameasure'=>'1', 'help'=>"Help text",), - 'fk_asset_type' => array('type'=>'integer:AssetType:asset/class/asset_type.class.php', 'label'=>'AssetsType', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'searchall'=>1, 'help'=>"LinkToThirparty",), + 'fk_asset_type' => array('type'=>'integer:AssetType:asset/class/asset_type.class.php', 'label'=>'AssetsType', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'help'=>"LinkToThirparty",), 'description' => array('type'=>'text', 'label'=>'Description', 'visible'=>-1, 'enabled'=>1, 'position'=>90, 'notnull'=>-1,), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'visible'=>-1, 'enabled'=>1, 'position'=>91, 'notnull'=>-1,), 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'visible'=>-1, 'enabled'=>1, 'position'=>92, 'notnull'=>-1,), diff --git a/htdocs/asset/class/asset_type.class.php b/htdocs/asset/class/asset_type.class.php index edb6fdf90c9..bfb0c7d073a 100644 --- a/htdocs/asset/class/asset_type.class.php +++ b/htdocs/asset/class/asset_type.class.php @@ -202,7 +202,7 @@ class AssetType extends CommonObject $action = 'update'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/asset/document.php b/htdocs/asset/document.php index c6762c5c946..4724173cd19 100644 --- a/htdocs/asset/document.php +++ b/htdocs/asset/document.php @@ -45,11 +45,12 @@ $ref = GETPOST('ref', 'alpha'); //$result = restrictedArea($user, 'asset', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/blockedlog/admin/blockedlog_list.php b/htdocs/blockedlog/admin/blockedlog_list.php index d753b3a66ea..66cc3b44848 100644 --- a/htdocs/blockedlog/admin/blockedlog_list.php +++ b/htdocs/blockedlog/admin/blockedlog_list.php @@ -223,20 +223,20 @@ if ($action === 'downloadblockchain') { { $statusofrecordnote = $langs->trans("PreviousFingerprint").': '.$previoushash.($statusofrecordnote ? ' - '.$statusofrecordnote : ''); } - print $obj->rowid - .';'.$obj->date_creation - .';"'.$obj->user_fullname.'"' - .';'.$obj->action - .';'.$obj->element - .';'.$obj->amounts - .';'.$obj->fk_object - .';'.$obj->date_object - .';"'.$obj->ref_object.'"' - .';'.$obj->signature - .';'.$statusofrecord - .';'.$statusofrecordnote - .';"'.str_replace('"', '""', $obj->object_data).'"' - ."\n"; + print $obj->rowid; + print ';'.$obj->date_creation; + print ';"'.str_replace('"', '""', $obj->user_fullname).'"'; + print ';'.$obj->action; + print ';'.$obj->element; + print ';'.$obj->amounts; + print ';'.$obj->fk_object; + print ';'.$obj->date_object; + print ';"'.str_replace('"', '""', $obj->ref_object).'"'; + print ';'.$obj->signature; + print ';'.$statusofrecord; + print ';'.$statusofrecordnote; + print ';"'.str_replace('"', '""', $obj->object_data).'"'; + print "\n"; // Set new previous hash for next fetch $previoushash = $obj->signature; diff --git a/htdocs/blockedlog/ajax/authority.php b/htdocs/blockedlog/ajax/authority.php index ab91d772288..936ad5edb9c 100644 --- a/htdocs/blockedlog/ajax/authority.php +++ b/htdocs/blockedlog/ajax/authority.php @@ -44,26 +44,26 @@ $signature = GETPOST('s'); $newblock = GETPOST('b'); $hash = GETPOST('h'); -if($auth->fetch(0, $signature)<=0) { +if ($auth->fetch(0, $signature) <= 0) { $auth->signature = $signature; $auth->create($user); } -if(!empty($hash)) { +if (!empty($hash)) { echo $auth->checkBlockchain($hash) ? 'hashisok' : 'hashisjunk'; } -elseif(!empty($newblock)){ - if($auth->checkBlock($newblock)) { +elseif (!empty($newblock)) { + if ($auth->checkBlock($newblock)) { $auth->addBlock($newblock); $auth->update($user); echo 'blockadded'; } - else{ + else { echo 'blockalreadyadded'; } } -else{ +else { echo 'idontunderstandwhatihavetodo'; } diff --git a/htdocs/bom/bom_document.php b/htdocs/bom/bom_document.php index 0fc68ed276e..a7dca41fff6 100644 --- a/htdocs/bom/bom_document.php +++ b/htdocs/bom/bom_document.php @@ -46,11 +46,12 @@ $ref = GETPOST('ref', 'alpha'); //$result = restrictedArea($user, 'bom', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php index a9ed7ee3a00..3e522b3c11f 100644 --- a/htdocs/bom/class/bom.class.php +++ b/htdocs/bom/class/bom.class.php @@ -979,7 +979,6 @@ class BOM extends CommonObject * * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) */ - //public function doScheduledJob($param1, $param2, ...) public function doScheduledJob() { global $conf, $langs; @@ -1005,6 +1004,7 @@ class BOM extends CommonObject /** * BOM costs calculation based on cost_price or pmp of each BOM line + * * @return void */ public function calculateCosts() @@ -1023,7 +1023,9 @@ class BOM extends CommonObject } $this->total_cost = price2num($this->total_cost, 'MT'); - $this->unit_cost = price2num($this->total_cost / $this->qty, 'MU'); + if ($this->qty) { + $this->unit_cost = price2num($this->total_cost / $this->qty, 'MU'); + } } } diff --git a/htdocs/bom/tpl/linkedobjectblock.tpl.php b/htdocs/bom/tpl/linkedobjectblock.tpl.php index a082d4a1003..d6b8ebf9a7c 100644 --- a/htdocs/bom/tpl/linkedobjectblock.tpl.php +++ b/htdocs/bom/tpl/linkedobjectblock.tpl.php @@ -42,7 +42,7 @@ $ilink = 0; foreach ($linkedObjectBlock as $key => $objectlink) { $ilink++; - $product_static= new Product($db); + $product_static = new Product($db); $trclass = 'oddeven'; if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) $trclass .= ' liste_sub_total'; echo ''; diff --git a/htdocs/bom/tpl/objectline_create.tpl.php b/htdocs/bom/tpl/objectline_create.tpl.php index be7eb3e775f..eeffb625381 100644 --- a/htdocs/bom/tpl/objectline_create.tpl.php +++ b/htdocs/bom/tpl/objectline_create.tpl.php @@ -74,7 +74,7 @@ if ($nolinesbefore) { print ' '; print ''; } -print ''; +print ''; $coldisplay = 0; // Adds a line numbering column diff --git a/htdocs/bom/tpl/objectline_edit.tpl.php b/htdocs/bom/tpl/objectline_edit.tpl.php index 36862e48708..3840f495dea 100644 --- a/htdocs/bom/tpl/objectline_edit.tpl.php +++ b/htdocs/bom/tpl/objectline_edit.tpl.php @@ -128,12 +128,16 @@ $coldisplay++; print ''; print ''; +$coldisplay++; +print ''; +print ''; + $coldisplay += $colspan; print ''; $coldisplay += $colspan; -print ''; +print ''; print '
    '; -print ''; +print ''; print ''; print ''; diff --git a/htdocs/bom/tpl/objectline_title.tpl.php b/htdocs/bom/tpl/objectline_title.tpl.php index b6197342136..ab0184189a8 100644 --- a/htdocs/bom/tpl/objectline_title.tpl.php +++ b/htdocs/bom/tpl/objectline_title.tpl.php @@ -52,7 +52,7 @@ if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) print ''.$langs->trans('Description').''; // Qty -print ''.$langs->trans('Qty').''; +print ''.$form->textwithpicto($langs->trans('Qty'), $langs->trans("QtyRequiredIfNoLoss")).''; if ($conf->global->PRODUCT_USE_UNITS) { diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php index 46e9ca315a5..93283cab815 100644 --- a/htdocs/bookmarks/bookmarks.lib.php +++ b/htdocs/bookmarks/bookmarks.lib.php @@ -60,7 +60,7 @@ function printDropdownBookmarksList() } $searchForm = ''."\n"; - $searchForm .= '
    global->MAIN_OPTIMIZEFORTEXTBROWSER) ? 'onsubmit="return false"' : '').'>'; + $searchForm .= 'global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ' onsubmit="return false"' : '').'>'; $searchForm .= ''; diff --git a/htdocs/bookmarks/card.php b/htdocs/bookmarks/card.php index 44ab989f528..6ab6bc283b6 100644 --- a/htdocs/bookmarks/card.php +++ b/htdocs/bookmarks/card.php @@ -172,7 +172,7 @@ if ($action == 'create') // Owner print ''.$langs->trans("Owner").''; - print $form->select_dolusers(isset($_POST['userid']) ? $_POST['userid'] : $user->id, 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); + print img_picto('', 'user').' '.$form->select_dolusers(isset($_POST['userid']) ? $_POST['userid'] : $user->id, 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); print ' '; // Position @@ -276,11 +276,11 @@ if ($id > 0 && !preg_match('/^add/i', $action)) print ''.$langs->trans("Owner").''; if ($action == 'edit' && $user->admin) { - print $form->select_dolusers(isset($_POST['userid']) ? $_POST['userid'] : ($object->fk_user ? $object->fk_user : ''), 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); + print img_picto('', 'user').' '.$form->select_dolusers(isset($_POST['userid']) ? $_POST['userid'] : ($object->fk_user ? $object->fk_user : ''), 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); } else { - if ($object->fk_user) + if ($object->fk_user > 0) { $fuser = new User($db); $fuser->fetch($object->fk_user); diff --git a/htdocs/bookmarks/list.php b/htdocs/bookmarks/list.php index 067e2abeaa9..5dd1718b263 100644 --- a/htdocs/bookmarks/list.php +++ b/htdocs/bookmarks/list.php @@ -155,13 +155,12 @@ print ''; print ''; print ''; -print ''; print ''; $newcardbutton = ''; $newcardbutton .= dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/bookmarks/card.php?action=create', '', !empty($user->rights->bookmark->creer)); -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bookmark', 0, $newcardbutton, '', $limit); +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bookmark', 0, $newcardbutton, '', $limit, 0, 0, 1); print '
    '; print ''."\n"; @@ -178,6 +177,8 @@ print_liste_field_titre("Position", $_SERVER["PHP_SELF"], "b.position", "", $par print_liste_field_titre(''); print "\n"; +$cacheOfUsers = array(); + $i = 0; while ($i < min($num, $limit)) { @@ -222,9 +223,13 @@ while ($i < min($num, $limit)) print '
    '; if ($obj->fk_user) { - $userstatic->id = $obj->fk_user; - $userstatic->lastname = $obj->login; - print $userstatic->getNomUrl(1); + if (empty($cacheOfUsers[$obj->fk_user])) { + $tmpuser = new User($db); + $tmpuser->fetch($obj->fk_user); + $cacheOfUsers[$obj->fk_user] = $tmpuser; + } + $tmpuser = $cacheOfUsers[$obj->fk_user]; + print $tmpuser->getNomUrl(1); } else { @@ -242,11 +247,11 @@ while ($i < min($num, $limit)) print ''; if ($user->rights->bookmark->creer) { - print 'rowid."&backtopage=".urlencode($_SERVER["PHP_SELF"]).'">'.img_edit().""; + print 'rowid."&backtopage=".urlencode($_SERVER["PHP_SELF"]).'">'.img_edit().""; } if ($user->rights->bookmark->supprimer) { - print "rowid\">".img_delete().""; + print 'rowid.'">'.img_delete().''; } else { diff --git a/htdocs/cache.manifest b/htdocs/cache.manifest index ebbf1aab4eb..5e514a32a47 100644 --- a/htdocs/cache.manifest +++ b/htdocs/cache.manifest @@ -8,7 +8,7 @@ CACHE MANIFEST # Files listed under CACHE will be ALWAYS cached after they are loaded. # And they will be always used from Cache after (even after refresh). CACHE: -theme/dolibarr_logo.png +theme/dolibarr_logo.svg support/ support/index.php diff --git a/htdocs/cashdesk/facturation.php b/htdocs/cashdesk/facturation.php index c8a7e09a9df..3c4a4dd6c7a 100644 --- a/htdocs/cashdesk/facturation.php +++ b/htdocs/cashdesk/facturation.php @@ -32,23 +32,23 @@ * View */ -$form=new Form($db); +$form = new Form($db); // Get list of articles (in warehouse '$conf_fkentrepot' if defined and stock module enabled) -if ( GETPOST('filtre', 'alpha') ) { +if (GETPOST('filtre', 'alpha')) { // Avec filtre - $ret=array(); $i=0; + $ret = array(); $i = 0; $sql = "SELECT p.rowid, p.ref, p.label, p.tva_tx, p.fk_product_type"; - if (! empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql.= ", ps.reel"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; - if (! empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$conf_fkentrepot."'"; - $sql.= " WHERE p.entity IN (".getEntity('product').")"; - $sql.= " AND p.tosell = 1"; - if(!$conf->global->CASHDESK_SERVICES) $sql.= " AND p.fk_product_type = 0"; - $sql.= " AND ("; - $sql.= "p.ref LIKE '%".$db->escape(GETPOST('filtre'))."%' OR p.label LIKE '%".$db->escape(GETPOST('filtre'))."%'"; - if (! empty($conf->barcode->enabled)) + if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql .= ", ps.reel"; + $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; + if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$conf_fkentrepot."'"; + $sql .= " WHERE p.entity IN (".getEntity('product').")"; + $sql .= " AND p.tosell = 1"; + if (!$conf->global->CASHDESK_SERVICES) $sql .= " AND p.fk_product_type = 0"; + $sql .= " AND ("; + $sql .= "p.ref LIKE '%".$db->escape(GETPOST('filtre'))."%' OR p.label LIKE '%".$db->escape(GETPOST('filtre'))."%'"; + if (!empty($conf->barcode->enabled)) { $filtre = GETPOST('filtre', 'alpha'); @@ -85,23 +85,23 @@ if ( GETPOST('filtre', 'alpha') ) { { dol_print_error($db); } - $tab_designations=$ret; + $tab_designations = $ret; } else { // Sans filtre - $ret=array(); - $i=0; + $ret = array(); + $i = 0; $sql = "SELECT p.rowid, ref, label, tva_tx, p.fk_product_type"; - if (! empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql.= ", ps.reel"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; - if (! empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$conf_fkentrepot."'"; - $sql.= " WHERE p.entity IN (".getEntity('product').")"; - $sql.= " AND p.tosell = 1"; - if(!$conf->global->CASHDESK_SERVICES) $sql.= " AND p.fk_product_type = 0"; - $sql.= " ORDER BY p.label"; + if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql .= ", ps.reel"; + $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; + if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$conf_fkentrepot."'"; + $sql .= " WHERE p.entity IN (".getEntity('product').")"; + $sql .= " AND p.tosell = 1"; + if (!$conf->global->CASHDESK_SERVICES) $sql .= " AND p.fk_product_type = 0"; + $sql .= " ORDER BY p.label"; dol_syslog($sql); - $resql=$db->query($sql); + $resql = $db->query($sql); if ($resql) { $nbr_enreg = $db->num_rows($resql); diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 9c0985078e7..dc451855c0a 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -461,7 +461,7 @@ class Categorie extends CommonObject $action = 'create'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -553,7 +553,7 @@ class Categorie extends CommonObject $action = 'update'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -646,7 +646,7 @@ class Categorie extends CommonObject } // Removed extrafields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index d3b8f81c94d..b36101750f2 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -184,9 +184,7 @@ foreach ($fulltree as $key => $val) 'rowid'=>$val['rowid'], 'fk_menu'=>$val['fk_parent'], 'entry'=>''.$counter. - //''. - ''. - '
    color ? ' style="background: #'.$categstatic->color.';"' : ' style="background: #aaa"').'>'.$li.''.dolGetFirstLineOfText($desc).''.img_view().'
    ' + '
    '.img_view().'
    ' ); } @@ -197,7 +195,7 @@ print ''; print ''; diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index d259c8ca5a5..c4366ebf19c 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -317,9 +317,9 @@ print ''; @@ -1188,7 +1187,7 @@ if ($id > 0) $object->contactid = GETPOST("contactid", 'int'); $object->fk_project = GETPOST("projectid", 'int'); - $object->note = GETPOST("note", 'none'); + $object_private = GETPOST("note", 'none'); } if ($result2 < 0 || $result3 < 0 || $result4 < 0 || $result5 < 0) @@ -1540,7 +1539,7 @@ if ($id > 0) print ''; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 8c1e2051a81..7141d875567 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -380,7 +380,7 @@ class ActionComm extends CommonObject // Clean parameters $this->label = dol_trunc(trim($this->label), 128); $this->location = dol_trunc(trim($this->location), 128); - $this->note = dol_htmlcleanlastbr(trim($this->note)); + $this->note_private = dol_htmlcleanlastbr(trim(empty($this->note_private) ? $this->note : $this->note_private)); if (empty($this->percentage)) $this->percentage = 0; if (empty($this->priority) || !is_numeric($this->priority)) $this->priority = 0; if (empty($this->fulldayevent)) $this->fulldayevent = 0; @@ -405,7 +405,6 @@ class ActionComm extends CommonObject $this->userassigned[$tmpid] = array('id'=>$tmpid, 'transparency'=>$this->transparency); } - $userownerid = $this->userownerid; $userdoneid = $this->userdoneid; @@ -484,11 +483,11 @@ class ActionComm extends CommonObject $sql .= (strval($this->datef) != '' ? "'".$this->db->idate($this->datef)."'" : "null").", "; $sql .= ((isset($this->durationp) && $this->durationp >= 0 && $this->durationp != '') ? "'".$this->db->escape($this->durationp)."'" : "null").", "; // deprecated $sql .= (isset($this->type_id) ? $this->type_id : "null").","; - $sql .= ($code ? ("'".$code."'") : "null").", "; + $sql .= ($code ? ("'".$this->db->escape($code)."'") : "null").", "; $sql .= ($this->ref_ext ? ("'".$this->db->idate($this->ref_ext)."'") : "null").", "; $sql .= ((isset($this->socid) && $this->socid > 0) ? $this->socid : "null").", "; $sql .= ((isset($this->fk_project) && $this->fk_project > 0) ? $this->fk_project : "null").", "; - $sql .= " '".$this->db->escape($this->note_private ? $this->note_private : $this->note)."', "; + $sql .= " '".$this->db->escape($this->note_private)."', "; $sql .= ((isset($this->contactid) && $this->contactid > 0) ? $this->contactid : "null").", "; $sql .= (isset($user->id) && $user->id > 0 ? $user->id : "null").", "; $sql .= ($userownerid > 0 ? $userownerid : "null").", "; @@ -567,14 +566,11 @@ class ActionComm extends CommonObject if (!$error) { // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used - { - $result = $this->insertExtraFields(); - if ($result < 0) - { - $error++; - } - } + $result = $this->insertExtraFields(); + if ($result < 0) + { + $error++; + } } if (!$error && !$notrigger) @@ -733,14 +729,14 @@ class ActionComm extends CommonObject $this->type_short = (($transcode != "Action".$obj->type_code.'Short') ? $transcode : ''); $this->code = $obj->code; - $this->label = $obj->label; - $this->datep = $this->db->jdate($obj->datep); - $this->datef = $this->db->jdate($obj->datep2); + $this->label = $obj->label; + $this->datep = $this->db->jdate($obj->datep); + $this->datef = $this->db->jdate($obj->datep2); - $this->datec = $this->db->jdate($obj->datec); - $this->datem = $this->db->jdate($obj->datem); + $this->datec = $this->db->jdate($obj->datec); + $this->datem = $this->db->jdate($obj->datem); - $this->note = $obj->note; + $this->note = $obj->note; // deprecated $this->note_private = $obj->note; $this->percentage = $obj->percentage; @@ -993,7 +989,7 @@ class ActionComm extends CommonObject // Clean parameters $this->label = trim($this->label); - $this->note = trim($this->note); + $this->note_private = dol_htmlcleanlastbr(trim(empty($this->note_private) ? $this->note : $this->note_private)); if (empty($this->percentage)) $this->percentage = 0; if (empty($this->priority) || !is_numeric($this->priority)) $this->priority = 0; if (empty($this->transparency)) $this->transparency = 0; @@ -1027,7 +1023,7 @@ class ActionComm extends CommonObject $sql .= ", datep = ".(strval($this->datep) != '' ? "'".$this->db->idate($this->datep)."'" : 'null'); $sql .= ", datep2 = ".(strval($this->datef) != '' ? "'".$this->db->idate($this->datef)."'" : 'null'); $sql .= ", durationp = ".(isset($this->durationp) && $this->durationp >= 0 && $this->durationp != '' ? "'".$this->db->escape($this->durationp)."'" : "null"); // deprecated - $sql .= ", note = '".$this->db->escape($this->note_private ? $this->note_private : $this->note)."'"; + $sql .= ", note = '".$this->db->escape($this->note_private)."'"; $sql .= ", fk_project =".($this->fk_project > 0 ? $this->fk_project : "null"); $sql .= ", fk_soc =".($socid > 0 ? $socid : "null"); $sql .= ", fk_contact =".($contactid > 0 ? $contactid : "null"); @@ -1048,7 +1044,7 @@ class ActionComm extends CommonObject $action = 'update'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1406,8 +1402,8 @@ class ActionComm extends CommonObject $tooltip .= '
    '.$langs->trans('Type').': '.$labeltype; if (!empty($this->location)) $tooltip .= '
    '.$langs->trans('Location').': '.$this->location; - if (!empty($this->note)) - $tooltip .= '
    '.$langs->trans('Note').': '.(dol_textishtml($this->note) ? str_replace(array("\r", "\n"), "", $this->note) : str_replace(array("\r", "\n"), '
    ', $this->note)); + if (!empty($this->note_private)) + $tooltip .= '
    '.$langs->trans('Note').': '.(dol_textishtml($this->note_private) ? str_replace(array("\r", "\n"), "", $this->note_private) : str_replace(array("\r", "\n"), '
    ', $this->note_private)); $linkclose = ''; if (!empty($conf->global->AGENDA_USE_EVENT_TYPE) && $this->type_color) $linkclose = ' style="background-color:#'.$this->type_color.'"'; @@ -1940,8 +1936,7 @@ class ActionComm extends CommonObject $this->location = 'Location'; $this->transparency = 1; // 1 means opaque $this->priority = 1; - $this->note = "This is a 'public' note"; - $this->note_public = "This is a 'public' note."; + //$this->note_public = "This is a 'public' note."; $this->note_private = "This is a 'private' note."; $this->userownerid = $user->id; diff --git a/htdocs/comm/action/class/cactioncomm.class.php b/htdocs/comm/action/class/cactioncomm.class.php index 0ea298a0372..c8041c4ea16 100644 --- a/htdocs/comm/action/class/cactioncomm.class.php +++ b/htdocs/comm/action/class/cactioncomm.class.php @@ -166,12 +166,12 @@ class CActionComm if ($qualified && $obj->module) { - if ($obj->module == 'invoice' && !$conf->facture->enabled) $qualified = 0; - if ($obj->module == 'order' && !$conf->commande->enabled) $qualified = 0; - if ($obj->module == 'propal' && !$conf->propal->enabled) $qualified = 0; - if ($obj->module == 'invoice_supplier' && !$conf->fournisseur->enabled) $qualified = 0; - if ($obj->module == 'order_supplier' && !$conf->fournisseur->enabled) $qualified = 0; - if ($obj->module == 'shipping' && !$conf->expedition->enabled) $qualified = 0; + if ($obj->module == 'invoice' && !$conf->facture->enabled) $qualified=0; + if ($obj->module == 'order' && !$conf->commande->enabled) $qualified=0; + if ($obj->module == 'propal' && !$conf->propal->enabled) $qualified=0; + if ($obj->module == 'invoice_supplier' && ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || ! $conf->supplier_invoice->enabled)) $qualified=0; + if ($obj->module == 'order_supplier' && ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || ! $conf->supplier_order->enabled)) $qualified=0; + if ($obj->module == 'shipping' && !$conf->expedition->enabled) $qualified=0; } if ($qualified) diff --git a/htdocs/comm/action/document.php b/htdocs/comm/action/document.php index 20e76b6e7d5..9e770f70a93 100644 --- a/htdocs/comm/action/document.php +++ b/htdocs/comm/action/document.php @@ -62,11 +62,12 @@ if ($id > 0) } // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index 9f28d278ed1..2391f9ca491 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -242,7 +242,7 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; $sql = "SELECT"; if ($usergroup > 0) $sql .= " DISTINCT"; $sql .= " s.nom as societe, s.rowid as socid, s.client, s.email as socemail,"; -$sql .= " a.id, a.label, a.note, a.datep as dp, a.datep2 as dp2, a.fulldayevent, a.location,"; +$sql .= " a.id, a.code, a.label, a.note, a.datep as dp, a.datep2 as dp2, a.fulldayevent, a.location,"; $sql .= ' a.fk_user_author,a.fk_user_action,'; $sql .= " a.fk_contact, a.note, a.percent as percent,"; $sql .= " a.fk_element, a.elementtype, a.datec, a.tms as datem,"; @@ -385,14 +385,8 @@ if ($resql) print ''; $nav = ''; - //if ($actioncode) $nav.=''; - //if ($resourceid) $nav.=''; if ($filter) $nav .= ''; - //if ($filtert) $nav.=''; - //if ($socid) $nav.=''; if ($showbirthday) $nav .= ''; - //if ($pid) $nav.=''; - //if ($usergroup) $nav.=''; print $nav; dol_fiche_head($head, $tabactive, $langs->trans('Agenda'), 0, 'action'); @@ -548,13 +542,13 @@ if ($resql) $actionstatic->id = $obj->id; $actionstatic->ref = $obj->id; + $actionstatic->code = $obj->code; $actionstatic->type_code = $obj->type_code; $actionstatic->type_label = $obj->type_label; $actionstatic->type_picto = $obj->type_picto; $actionstatic->label = $obj->label; $actionstatic->location = $obj->location; - $actionstatic->note = dol_htmlentitiesbr($obj->note); // deprecated - $actionstatic->note_public = dol_htmlentitiesbr($obj->note); + $actionstatic->note_private = dol_htmlentitiesbr($obj->note); $actionstatic->fetchResources(); @@ -584,21 +578,31 @@ if ($resql) if (!empty($arrayfields['c.libelle']['checked'])) { print ''; } @@ -613,15 +617,15 @@ if ($resql) // Description if (!empty($arrayfields['a.note']['checked'])) { print ''; } $formatToUse = $obj->fulldayevent ? 'day' : 'dayhour'; // Start date if (!empty($arrayfields['a.datep']['checked'])) { - print ''; } @@ -718,7 +722,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index f1ea3c0923d..4ff16cd7c03 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2008 Raphael Bertrand (Resultic) - * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2010-2020 Juanjo Menent * Copyright (C) 2013 Alexandre Spangaro * Copyright (C) 2015-2019 Frédéric France * Copyright (C) 2015 Marcos García @@ -65,11 +65,12 @@ $result = restrictedArea($user, 'societe', $id, '&societe'); $action = GETPOST('action', 'aZ09'); $mode = GETPOST("mode"); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; @@ -581,7 +582,7 @@ if ($object->id > 0) $boxstat .= '
    '.$langs->trans("Categories").''; if (!empty($conf->use_javascript_ajax)) { - print ''; + print ''; } print '
    '; if (!empty($conf->use_javascript_ajax)) { print ''; } diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index fb07acbd337..716e02ae678 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -317,7 +317,7 @@ if (empty($reshook) && $action == 'add') if (GETPOST("doneby") > 0) $object->userdoneid = GETPOST("doneby", "int"); } - $object->note = trim(GETPOST("note")); + $object->note_private = trim(GETPOST("note")); if (isset($_POST["contactid"])) $object->contact = $contact; @@ -465,7 +465,6 @@ if (empty($reshook) && $action == 'update') $object->contactid = key($object->socpeopleassigned); } $object->fk_project = GETPOST("projectid", 'int'); - $object->note = GETPOST("note", "none"); // deprecated $object->note_private = GETPOST("note", "none"); $object->fk_element = GETPOST("fk_element", "int"); $object->elementtype = GETPOST("elementtype", "alphanohtml"); @@ -1122,7 +1121,7 @@ if ($action == 'create') // Description print '
    '.$langs->trans("Description").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor('note', (GETPOST('note', 'none') ?GETPOST('note', 'none') : $object->note), '', 180, 'dolibarr_notes', 'In', true, true, $conf->fckeditor->enabled, ROWS_4, '90%'); + $doleditor = new DolEditor('note', (GETPOST('note', 'none') ?GETPOST('note', 'none') : $object->note_private), '', 180, 'dolibarr_notes', 'In', true, true, $conf->fckeditor->enabled, ROWS_4, '90%'); $doleditor->Create(); print '
    '.$langs->trans("Description").''; // Editeur wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor('note', $object->note, '', 200, 'dolibarr_notes', 'In', true, true, $conf->fckeditor->enabled, ROWS_5, '90%'); + $doleditor = new DolEditor('note', $object->note_private, '', 200, 'dolibarr_notes', 'In', true, true, $conf->fckeditor->enabled, ROWS_5, '90%'); $doleditor->Create(); print '
    '; + $actioncomm = $actionstatic; + // TODO Code common with code into showactions + $imgpicto = ''; if (!empty($conf->global->AGENDA_USE_EVENT_TYPE)) { - if ($actionstatic->type_picto) print img_picto('', $actionstatic->type_picto); - else { - if ($actionstatic->type_code == 'AC_RDV') print img_picto('', 'object_group', '', false, 0, 0, '', '').' '; - elseif ($actionstatic->type_code == 'AC_TEL') print img_picto('', 'object_phoning', '', false, 0, 0, '', '').' '; - elseif ($actionstatic->type_code == 'AC_FAX') print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', '').' '; - elseif ($actionstatic->type_code == 'AC_EMAIL') print img_picto('', 'object_email', '', false, 0, 0, '', '').' '; - elseif ($actionstatic->type_code == 'AC_INT') print img_picto('', 'object_intervention', '', false, 0, 0, '', '').' '; - elseif (!preg_match('/_AUTO/', $actionstatic->type_code)) print img_picto('', 'object_other', '', false, 0, 0, '', '').' '; - } + if ($actioncomm->type_picto) { + $imgpicto = img_picto('', $actioncomm->type_picto); + } + else { + if ($actioncomm->type_code == 'AC_RDV') $imgpicto = img_picto('', 'object_group', '', false, 0, 0, '', 'paddingright').' '; + elseif ($actioncomm->type_code == 'AC_TEL') $imgpicto = img_picto('', 'object_phoning', '', false, 0, 0, '', 'paddingright').' '; + elseif ($actioncomm->type_code == 'AC_FAX') $imgpicto = img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'paddingright').' '; + elseif ($actioncomm->type_code == 'AC_EMAIL') $imgpicto = img_picto('', 'object_email', '', false, 0, 0, '', 'paddingright').' '; + elseif ($actioncomm->type_code == 'AC_INT') $imgpicto = img_picto('', 'object_intervention', '', false, 0, 0, '', 'paddingright').' '; + elseif ($actioncomm->type_code == 'AC_OTH' && $actioncomm->code == 'TICKET_MSG') $imgpicto = img_picto('', 'object_conversation', '', false, 0, 0, '', 'paddingright').' '; + elseif (!preg_match('/_AUTO/', $actioncomm->type_code)) $imgpicto = img_picto('', 'object_other', '', false, 0, 0, '', 'paddingright').' '; + } } + print $imgpicto; + $labeltype = $obj->type_code; if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && empty($arraylist[$labeltype])) $labeltype = 'AC_OTH'; - if (!empty($arraylist[$labeltype])) $labeltype = $arraylist[$labeltype]; + if ($actioncomm->type_code == 'AC_OTH' && $actioncomm->code == 'TICKET_MSG') { + $labeltype = $langs->trans("Message"); + } elseif (!empty($arraylist[$labeltype])) $labeltype = $arraylist[$labeltype]; print dol_trunc($labeltype, 28); print ''; - $text = dolGetFirstLineOfText(dol_string_nohtmltag($actionstatic->note, 0)); - print $form->textwithtooltip(dol_trunc($text, 40), $actionstatic->note); + $text = dolGetFirstLineOfText(dol_string_nohtmltag($actionstatic->note_private, 0)); + print $form->textwithtooltip(dol_trunc($text, 40), $actionstatic->note_private); print ''; + print ''; print dol_print_date($db->jdate($obj->dp), $formatToUse); $late = 0; if ($obj->percent == 0 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) $late = 1; @@ -634,7 +638,7 @@ if ($resql) // End date if (!empty($arrayfields['a.datep2']['checked'])) { - print ''; + print ''; print dol_print_date($db->jdate($obj->dp2), $formatToUse); print '
    '; $boxstat .= '
    '; - if (!empty($conf->propal->enabled)) + if (!empty($conf->propal->enabled) && $user->rights->propal->lire) { // Box proposals $tmp = $object->getOutstandingProposals(); @@ -599,7 +600,7 @@ if ($object->id > 0) if ($link) $boxstat .= ''; } - if (!empty($conf->commande->enabled)) + if (!empty($conf->commande->enabled) && $user->rights->commande->lire) { // Box commandes $tmp = $object->getOutstandingOrders(); @@ -617,7 +618,7 @@ if ($object->id > 0) if ($link) $boxstat .= ''; } - if (!empty($conf->facture->enabled)) + if (!empty($conf->facture->enabled) && $user->rights->facture->lire) { // Box factures $tmp = $object->getOutstandingBills(); diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index f11c53f3352..af5b4ac41a5 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -35,7 +35,7 @@ if (!empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/cl if (!empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; if (!empty($conf->supplier_proposal->enabled)) require_once DOL_DOCUMENT_ROOT.'/supplier_proposal/class/supplier_proposal.class.php'; if (!empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; -if (!empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; +if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || ! empty($conf->supplier_order->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; if (!$user->rights->societe->lire) accessforbidden(); @@ -76,7 +76,7 @@ $companystatic = new Societe($db); if (!empty($conf->propal->enabled)) $propalstatic = new Propal($db); if (!empty($conf->supplier_proposal->enabled)) $supplierproposalstatic = new SupplierProposal($db); if (!empty($conf->commande->enabled)) $orderstatic = new Commande($db); -if (!empty($conf->fournisseur->enabled)) $supplierorderstatic = new CommandeFournisseur($db); +if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) $supplierorderstatic = new CommandeFournisseur($db); llxHeader("", $langs->trans("CommercialArea")); @@ -102,7 +102,7 @@ if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is useles $listofsearchfields['search_supplier_proposal'] = array('text'=>'SupplierProposalShort'); } // Search supplier order - if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->lire) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) && $user->rights->fournisseur->commande->lire) { $listofsearchfields['search_supplier_order'] = array('text'=>'SupplierOrder'); } @@ -414,7 +414,7 @@ if (!empty($conf->commande->enabled) && $user->rights->commande->lire) /* * Draft suppliers orders */ -if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->lire) +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) && $user->rights->fournisseur->commande->lire) { $langs->load("orders"); @@ -581,7 +581,7 @@ if (!empty($conf->societe->enabled) && $user->rights->societe->lire) } // Last suppliers -if (!empty($conf->fournisseur->enabled) && $user->rights->societe->lire) +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $user->rights->societe->lire) { $langs->load("boxes"); diff --git a/htdocs/comm/mailing/advtargetemailing.php b/htdocs/comm/mailing/advtargetemailing.php index b716790aa8f..d4db9fc6ea9 100644 --- a/htdocs/comm/mailing/advtargetemailing.php +++ b/htdocs/comm/mailing/advtargetemailing.php @@ -147,15 +147,15 @@ if ($action == 'add') { if (preg_match("/st_dt/", $key)) { $dtarr = array(); $dtarr = explode('_', $key); - if (!array_key_exists('options_'.$dtarr[1].'_st_dt'.'_cnct', $array_query)) { - $array_query['options_'.$dtarr[1].'_st_dt'.'_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_st_dtmonth'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtday'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtyear'.'_cnct', 'int')); + if (!array_key_exists('options_'.$dtarr[1].'_st_dt_cnct', $array_query)) { + $array_query['options_'.$dtarr[1].'_st_dt_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_st_dtmonth_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtday_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtyear_cnct', 'int')); } } elseif (preg_match("/end_dt/", $key)) { // Special case for end date come with 3 inputs day, month, year $dtarr = array(); $dtarr = explode('_', $key); - if (!array_key_exists('options_'.$dtarr[1].'_end_dt'.'_cnct', $array_query)) { - $array_query['options_'.$dtarr[1].'_end_dt'.'_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_end_dtmonth'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtday'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtyear'.'_cnct', 'int')); + if (!array_key_exists('options_'.$dtarr[1].'_end_dt_cnct', $array_query)) { + $array_query['options_'.$dtarr[1].'_end_dt_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_end_dtmonth_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtday_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtyear_cnct', 'int')); } } else { $array_query[$key] = GETPOST($key); @@ -299,15 +299,15 @@ if ($action == 'savefilter' || $action == 'createfilter') { if (preg_match("/st_dt/", $key)) { $dtarr = array(); $dtarr = explode('_', $key); - if (!array_key_exists('options_'.$dtarr[1].'_st_dt'.'_cnct', $array_query)) { - $array_query['options_'.$dtarr[1].'_st_dt'.'_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_st_dtmonth'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtday'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtyear'.'_cnct', 'int')); + if (!array_key_exists('options_'.$dtarr[1].'_st_dt_cnct', $array_query)) { + $array_query['options_'.$dtarr[1].'_st_dt_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_st_dtmonth_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtday_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_st_dtyear_cnct', 'int')); } } elseif (preg_match("/end_dt/", $key)) { // Special case for end date come with 3 inputs day, month, year $dtarr = array(); $dtarr = explode('_', $key); - if (!array_key_exists('options_'.$dtarr[1].'_end_dt'.'_cnct', $array_query)) { - $array_query['options_'.$dtarr[1].'_end_dt'.'_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_end_dtmonth'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtday'.'_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtyear'.'_cnct', 'int')); + if (!array_key_exists('options_'.$dtarr[1].'_end_dt_cnct', $array_query)) { + $array_query['options_'.$dtarr[1].'_end_dt_cnct'] = dol_mktime(0, 0, 0, GETPOST('options_'.$dtarr[1].'_end_dtmonth_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtday_cnct', 'int'), GETPOST('options_'.$dtarr[1].'_end_dtyear_cnct', 'int')); // print $array_query['cnct_options_'.$dtarr[1].'_end_dt']; // 01/02/1013=1361228400 } diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index 68a6b8db331..e3cb5a9ad97 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -742,7 +742,7 @@ if ($action == 'create') // Print mail form - print load_fiche_titre($langs->trans("NewMailing"), $availablelink, 'generic'); + print load_fiche_titre($langs->trans("NewMailing"), $availablelink, 'object_email'); dol_fiche_head(); diff --git a/htdocs/comm/mailing/class/advtargetemailing.class.php b/htdocs/comm/mailing/class/advtargetemailing.class.php index 83ea16641fe..7700ca6ee43 100644 --- a/htdocs/comm/mailing/class/advtargetemailing.class.php +++ b/htdocs/comm/mailing/class/advtargetemailing.class.php @@ -570,7 +570,8 @@ class AdvanceTargetingMailing extends CommonObject //Standard Extrafield feature if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { - $elementtype = Societe::$table_element; + $socstatic = new Societe($this->db); + $elementtype = $socstatic->table_element; $extrafields->fetch_name_optionals_label($elementtype); @@ -707,7 +708,8 @@ class AdvanceTargetingMailing extends CommonObject //Standard Extrafield feature if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { - $elementtype = Contact::$table_element; + $contactstatic = new Contact($this->db); + $elementtype = $contactstatic->table_element; // fetch optionals attributes and labels dol_include_once('/core/class/extrafields.class.php'); @@ -724,13 +726,13 @@ class AdvanceTargetingMailing extends CommonObject } } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'int') || ($extrafields->attributes[$elementtype]['type'][$key] == 'double')) { - if (!empty($arrayquery['options_'.$key.'_max'.'_cnct'])) { - $sqlwhere[] = " (te.".$key." >= ".$arrayquery['options_'.$key.'_max'.'_cnct']." AND te.".$key." <= ".$arrayquery['options_'.$key.'_min'.'_cnct'].")"; + if (!empty($arrayquery['options_'.$key.'_max_cnct'])) { + $sqlwhere[] = " (te.".$key." >= ".$arrayquery['options_'.$key.'_max_cnct']." AND te.".$key." <= ".$arrayquery['options_'.$key.'_min_cnct'].")"; } } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'date') || ($extrafields->attributes[$elementtype]['type'][$key] == 'datetime')) { - if (!empty($arrayquery['options_'.$key.'_end_dt'.'_cnct'])) { - $sqlwhere[] = " (te.".$key." >= '".$this->db->idate($arrayquery['options_'.$key.'_st_dt'.'_cnct'])."' AND te.".$key." <= '".$this->db->idate($arrayquery['options_'.$key.'_end_dt'.'_cnct'])."')"; + if (!empty($arrayquery['options_'.$key.'_end_dt_cnct'])) { + $sqlwhere[] = " (te.".$key." >= '".$this->db->idate($arrayquery['options_'.$key.'_st_dt_cnct'])."' AND te.".$key." <= '".$this->db->idate($arrayquery['options_'.$key.'_end_dt_cnct'])."')"; } } elseif ($extrafields->attributes[$elementtype]['type'][$key] == 'boolean') { if ($arrayquery['options_'.$key.'_cnct'] != '') { @@ -809,7 +811,8 @@ class AdvanceTargetingMailing extends CommonObject //Standard Extrafield feature if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { - $elementtype = Societe::$table_element; + $socstatic = new Societe($this->db); + $elementtype = $socstatic->table_element; // fetch optionals attributes and labels dol_include_once('/core/class/extrafields.class.php'); diff --git a/htdocs/comm/mailing/index.php b/htdocs/comm/mailing/index.php index 61187f2e647..6b765d9451f 100644 --- a/htdocs/comm/mailing/index.php +++ b/htdocs/comm/mailing/index.php @@ -157,6 +157,7 @@ print '
    '; $limit = 10; $sql = "SELECT m.rowid, m.titre, m.nbemail, m.statut, m.date_creat"; $sql .= " FROM ".MAIN_DB_PREFIX."mailing as m"; +$sql .= " WHERE m.entity = ".$conf->entity; $sql .= " ORDER BY m.date_creat DESC"; $sql .= " LIMIT ".$limit; $result = $db->query($sql); diff --git a/htdocs/comm/mailing/list.php b/htdocs/comm/mailing/list.php index 8feaa5a4d93..8119224bbfa 100644 --- a/htdocs/comm/mailing/list.php +++ b/htdocs/comm/mailing/list.php @@ -188,7 +188,7 @@ if ($resql) print ''; print ''; - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'generic', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'object_email', 0, $newcardbutton, '', $limit, 0, 0, 1); $moreforfilter = ''; diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index 92338ebf68e..bd5430c440a 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -511,7 +511,7 @@ if (empty($reshook)) } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; } @@ -1448,8 +1448,6 @@ if (empty($reshook)) * View */ -llxHeader('', $langs->trans('Proposal'), 'EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'); - $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); @@ -1458,6 +1456,9 @@ $formmargin = new FormMargin($db); $companystatic = new Societe($db); if (!empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } +$help_url = 'EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'; +llxHeader('', $langs->trans('Proposal'), $help_url); + $now = dol_now(); // Add new proposal @@ -1465,7 +1466,7 @@ if ($action == 'create') { $currency_code = $conf->currency; - print load_fiche_titre($langs->trans("NewProp")); + print load_fiche_titre($langs->trans("NewProp"), '', 'propal'); $soc = new Societe($db); if ($socid > 0) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 938430ea542..3c7cfe0006c 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -1253,13 +1253,10 @@ class Propal extends CommonObject // Actions on extra fields if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + $result = $this->insertExtraFields(); + if ($result < 0) { - $result = $this->insertExtraFields(); - if ($result < 0) - { - $error++; - } + $error++; } } @@ -1683,7 +1680,7 @@ class Propal extends CommonObject $error++; $this->errors[] = "Error ".$this->db->lasterror(); } - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -3002,8 +2999,11 @@ class Propal extends CommonObject if (!$error) { + $main = MAIN_DB_PREFIX.'propaldet'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_propal = ".$this->id.")"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."propaldet WHERE fk_propal = ".$this->id; - if ($this->db->query($sql)) + if ($this->db->query($sqlef) && $this->db->query($sql)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."propal WHERE rowid = ".$this->id; if ($this->db->query($sql)) @@ -3053,15 +3053,12 @@ class Propal extends CommonObject // Removed extrafields if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + $result = $this->deleteExtraFields(); + if ($result < 0) { - $result = $this->deleteExtraFields(); - if ($result < 0) - { - $error++; - $errorflag = -4; - dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); - } + $error++; + $errorflag = -4; + dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); } } @@ -3658,7 +3655,7 @@ class Propal extends CommonObject if ($user->rights->propal->lire) { - $label = ''.$langs->trans("ShowPropal").''; + $label = ''.$langs->trans("Proposal").''; if (!empty($this->ref)) $label .= '
    '.$langs->trans('Ref').': '.$this->ref; if (!empty($this->ref_client)) @@ -3669,6 +3666,11 @@ class Propal extends CommonObject $label .= '
    '.$langs->trans('VAT').': '.price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); if (!empty($this->total_ttc)) $label .= '
    '.$langs->trans('AmountTTC').': '.price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); + if (isset($this->statut)) { + $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); + } + + if ($option == '') { $url = DOL_URL_ROOT.'/comm/propal/card.php?id='.$this->id.$get_params; } @@ -3696,7 +3698,7 @@ class Propal extends CommonObject { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowPropal"); + $label = $langs->trans("Proposal"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; @@ -4147,7 +4149,7 @@ class PropaleLigne extends CommonObjectLine { $this->rowid = $this->db->last_insert_id(MAIN_DB_PREFIX.'propaldet'); - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $this->id = $this->rowid; $result = $this->insertExtraFields(); @@ -4199,7 +4201,7 @@ class PropaleLigne extends CommonObjectLine if ($this->db->query($sql)) { // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $this->id = $this->rowid; $result = $this->deleteExtraFields(); @@ -4329,7 +4331,7 @@ class PropaleLigne extends CommonObjectLine $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $this->id = $this->rowid; $result = $this->insertExtraFields(); diff --git a/htdocs/comm/propal/class/propalestats.class.php b/htdocs/comm/propal/class/propalestats.class.php index d5c48006430..747bb75433c 100644 --- a/htdocs/comm/propal/class/propalestats.class.php +++ b/htdocs/comm/propal/class/propalestats.class.php @@ -3,6 +3,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (c) 2011 Juanjo Menent + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,23 +47,27 @@ class PropaleStats extends Stats public $from; public $field; public $where; + public $join; /** * Constructor * - * @param DoliDB $db Database handler - * @param int $socid Id third party for filter. This value must be forced during the new to external user company if user is an external user. - * @param int $userid Id user for filter (creation user) - * @param string $mode Option ('customer', 'supplier') + * @param DoliDB $db Database handler + * @param int $socid Id third party for filter. This value must be forced during the new to external user company if user is an external user. + * @param int $userid Id user for filter (creation user) + * @param string $mode Option ('customer', 'supplier') + * @param int $typentid Id typent of thirdpary for filter + * @param int $categid Id category of thirdpary for filter */ - public function __construct($db, $socid = 0, $userid = 0, $mode = 'customer') + public function __construct($db, $socid = 0, $userid = 0, $mode = 'customer', $typentid = 0, $categid = 0) { global $user, $conf; $this->db = $db; $this->socid = ($socid > 0 ? $socid : 0); $this->userid = $userid; + $this->join = ''; if ($mode == 'customer') { @@ -96,6 +101,19 @@ class PropaleStats extends Stats $this->where .= " AND p.fk_soc = ".$this->socid; } if ($this->userid > 0) $this->where .= ' AND fk_user_author = '.$this->userid; + + if ($typentid) + { + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON s.rowid = p.fk_soc'; + $this->where .= ' AND s.fk_typent = '.$typentid; + } + + if ($categid) + { + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_societe as cs ON cs.fk_soc = p.fk_soc'; + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie as c ON c.rowid = cs.fk_categorie'; + $this->where .= ' AND c.rowid = '.$categid; + } } @@ -113,6 +131,7 @@ class PropaleStats extends Stats $sql = "SELECT date_format(".$this->field_date.",'%m') as dm, COUNT(*) as nb"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$user->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->field_date." 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"; @@ -135,6 +154,7 @@ class PropaleStats extends Stats $sql = "SELECT date_format(".$this->field_date.",'%Y') as dm, COUNT(*) as nb, SUM(c.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY dm"; $sql .= $this->db->order('dm', 'DESC'); @@ -156,6 +176,7 @@ class PropaleStats extends Stats $sql = "SELECT date_format(".$this->field_date.",'%m') as dm, SUM(p.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->field_date." 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"; @@ -178,6 +199,7 @@ class PropaleStats extends Stats $sql = "SELECT date_format(".$this->field_date.",'%m') as dm, AVG(p.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->field_date." 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"; @@ -198,6 +220,7 @@ class PropaleStats extends Stats $sql = "SELECT date_format(".$this->field_date.",'%Y') as year, COUNT(*) as nb, SUM(".$this->field.") as total, AVG(".$this->field.") as avg"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY year"; $sql .= $this->db->order('year', 'DESC'); @@ -221,6 +244,7 @@ class PropaleStats extends Stats $sql = "SELECT product.ref, COUNT(product.ref) as nb, SUM(tl.".$this->field_line.") as total, AVG(tl.".$this->field_line.") as avg"; $sql .= " FROM ".$this->from.", ".$this->from_line.", ".MAIN_DB_PREFIX."product as product"; if (!$user->rights->societe->client->voir && !$user->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " AND p.rowid = tl.fk_propal AND tl.fk_product = product.rowid"; $sql .= " AND ".$this->field_date." BETWEEN '".$this->db->idate(dol_get_first_day($year, 1, false))."' AND '".$this->db->idate(dol_get_last_day($year, 12, false))."'"; diff --git a/htdocs/comm/propal/document.php b/htdocs/comm/propal/document.php index 02d801860a5..d9d12c5efb4 100644 --- a/htdocs/comm/propal/document.php +++ b/htdocs/comm/propal/document.php @@ -53,11 +53,12 @@ if (!empty($user->socid)) $result = restrictedArea($user, 'propal', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index a0aac3e0387..a320d2b83b9 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -58,7 +58,7 @@ $help_url = "EN:Module_Commercial_Proposals|FR:Module_Propositions_commerciales| llxHeader("", $langs->trans("ProspectionArea"), $help_url); -print load_fiche_titre($langs->trans("ProspectionArea"), '', 'commercial'); +print load_fiche_titre($langs->trans("ProspectionArea"), '', 'propal'); //print ''; //print ''; // Warning $warnornote = ''; - if ($obj->fk_statut == 1 && $db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) $warnornote .= img_warning($langs->trans("Late")); + if ($obj->status == Propal::STATUS_VALIDATED && $db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) $warnornote .= img_warning($langs->trans("Late")); if ($warnornote) { print ''; + print ''; if (!$i) $totalarray['nbfield']++; } // Action column diff --git a/htdocs/comm/propal/stats/index.php b/htdocs/comm/propal/stats/index.php index e836d37a1b9..add31f13f08 100644 --- a/htdocs/comm/propal/stats/index.php +++ b/htdocs/comm/propal/stats/index.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +29,10 @@ require '../../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propalestats.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formpropal.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $WIDTH = DolGraph::getDefaultGraphSizeForStats('width'); $HEIGHT = DolGraph::getDefaultGraphSizeForStats('height'); @@ -38,6 +42,8 @@ if ($mode == 'customer' && !$user->rights->propale->lire) accessforbidden(); if ($mode == 'supplier' && !$user->rights->supplier_proposal->lire) accessforbidden(); $object_status = GETPOST('object_status'); +$typent_id = GETPOST('typent_id', 'int'); +$categ_id = GETPOST('categ_id', 'categ_id'); $userid = GETPOST('userid', 'int'); $socid = GETPOST('socid', 'int'); @@ -64,29 +70,37 @@ $langs->loadLangs(array('orders', 'companies', 'other', 'suppliers', 'supplier_p $form = new Form($db); $formpropal = new FormPropal($db); +$formcompany = new FormCompany($db); +$formother = new FormOther($db); $langs->loadLangs(array('propal', 'other', 'companies')); if ($mode == 'customer') { + $picto = 'propal'; $title = $langs->trans("ProposalsStatistics"); $dir = $conf->propale->dir_temp; + $cat_type = Categorie::TYPE_CUSTOMER; + $cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Customer")); } if ($mode == 'supplier') { + $picto = 'supplier_proposal'; $title = $langs->trans("ProposalsStatisticsSuppliers").' ('.$langs->trans("SentToSuppliers").")"; $dir = $conf->supplier_proposal->dir_temp; + $cat_type = Categorie::TYPE_SUPPLIER; + $cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Supplier")); } llxHeader('', $title); -print load_fiche_titre($title, '', 'commercial'); +print load_fiche_titre($title, '', $picto); dol_mkdir($dir); -$stats = new PropaleStats($db, $socid, ($userid > 0 ? $userid : 0), $mode); +$stats = new PropaleStats($db, $socid, ($userid > 0 ? $userid : 0), $mode, ($typent_id > 0 ? $typent_id : 0), ($categ_id > 0 ? $categ_id : 0)); if ($object_status != '' && $object_status >= 0) $stats->where .= ' AND p.fk_statut IN ('.$db->escape($object_status).')'; // Build graphic number of object @@ -252,6 +266,16 @@ print '
    '; $filter = 's.client IN (1,2,3)'; print $form->select_company($socid, 'socid', $filter, 1, 0, 0, array(), 0, '', 'style="width: 95%"'); print '
    '; + // ThirdParty Type + print ''; + // Category + print ''; // User print ''; +// ThirdParty Type +print ''; +// Category +if ($mode == 'customer') +{ + $cat_type = Categorie::TYPE_CUSTOMER; + $cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Customer")); +} +if ($mode == 'supplier') +{ + $cat_type = Categorie::TYPE_SUPPLIER; + $cat_label = $langs->trans("Supplier").' '.lcfirst($langs->trans("Customer")); +} +print ''; // User print ''; // File link print '\n"; @@ -619,11 +712,11 @@ if (!empty($date_start) && !empty($date_stop)) print ''; // Total ET - print '\n"; + print '\n"; // Total IT - print '\n"; + print '\n"; // Total VAT - print '\n"; + print '\n"; print '\n"; @@ -633,42 +726,42 @@ if (!empty($date_start) && !empty($date_stop)) print '\n"; - // Debit - //print '\n"; - // Credit - //print '\n"; - - $totalET += $data['amount_ht']; - $totalIT += $data['amount_ttc']; - $totalVAT += $data['amount_vat']; - - $totalDebit += ($data['amount_ttc'] > 0) ? abs($data['amount_ttc']) : 0; - $totalCredit += ($data['amount_ttc'] > 0) ? 0 : abs($data['amount_ttc']); - - // Balance - //print '\n"; + if ($data['sens']) { + $totalET_credit += $data['amount_ht']; + $totalIT_credit += $data['amount_ttc']; + $totalVAT_credit += $data['amount_vat']; + } else { + $totalET_debit -= $data['amount_ht']; + $totalIT_debit -= $data['amount_ttc']; + $totalVAT_debit -= $data['amount_vat']; + } print "\n"; } + // Total credits print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - /*print ''; - print ''; - print ''; - */ + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + // Total debits + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + // Balance + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print "\n"; } } diff --git a/htdocs/compta/bank/account_statement_document.php b/htdocs/compta/bank/account_statement_document.php index 1df1f000a61..05f89e1bc6f 100644 --- a/htdocs/compta/bank/account_statement_document.php +++ b/htdocs/compta/bank/account_statement_document.php @@ -57,11 +57,12 @@ if ($user->socid) $socid = $user->socid; // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) diff --git a/htdocs/compta/bank/bankentries_list.php b/htdocs/compta/bank/bankentries_list.php index 7b531d31bc0..7d059734126 100644 --- a/htdocs/compta/bank/bankentries_list.php +++ b/htdocs/compta/bank/bankentries_list.php @@ -1519,7 +1519,7 @@ if ($resql) // Transaction reconciliated or edit link if ($objp->conciliated && $bankaccount->canBeConciliated() > 0) // If line not conciliated and account can be conciliated { - print ''; + print ''; print img_edit(); print ''; } diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index ab99173b614..3fcbffba3b2 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -823,13 +823,10 @@ class Account extends CommonObject if ($result) { // Actions on extra fields (by external module or standard code) - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { - if (!$error) - { - $result = $this->insertExtraFields(); - if ($result < 0) $error++; - } + $result = $this->insertExtraFields(); + if ($result < 0) $error++; } if (!$error && !$notrigger) @@ -1107,7 +1104,7 @@ class Account extends CommonObject if ($result) { // Remove extrafields - if ((empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -1675,8 +1672,7 @@ class Account extends CommonObject //Replace the old AccountNumber key with the new BankAccountNumber key $fieldlists = explode( ' ', - preg_replace('/ ?[^Bank]AccountNumber ?/', 'BankAccountNumber', - $conf->global->BANK_SHOW_ORDER_OPTION) + preg_replace('/ ?[^Bank]AccountNumber ?/', 'BankAccountNumber', $conf->global->BANK_SHOW_ORDER_OPTION) ); } } diff --git a/htdocs/compta/bank/class/api_bankaccounts.class.php b/htdocs/compta/bank/class/api_bankaccounts.class.php index bc5b9d46be1..ad75559b362 100644 --- a/htdocs/compta/bank/class/api_bankaccounts.class.php +++ b/htdocs/compta/bank/class/api_bankaccounts.class.php @@ -73,12 +73,12 @@ class BankAccounts extends DolibarrApi $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."bank_account as t"; if ($category > 0) { - $sql .= ", ".MAIN_DB_PREFIX."categorie_account as c"; + $sql .= ", ".MAIN_DB_PREFIX."categorie_account as c"; } $sql .= ' WHERE t.entity IN ('.getEntity('bank_account').')'; // Select accounts of given category if ($category > 0) { - $sql .= " AND c.fk_categorie = ".$db->escape($category)." AND c.fk_account = t.rowid "; + $sql .= " AND c.fk_categorie = ".$this->db->escape($category)." AND c.fk_account = t.rowid "; } // Add sql filters if ($sqlfilters) diff --git a/htdocs/compta/bank/document.php b/htdocs/compta/bank/document.php index 9fd2207f3ec..d003463e5af 100644 --- a/htdocs/compta/bank/document.php +++ b/htdocs/compta/bank/document.php @@ -54,11 +54,12 @@ if ($user->socid) $socid = $user->socid; // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) diff --git a/htdocs/compta/bank/line.php b/htdocs/compta/bank/line.php index 5c64c4ee5d9..6e53dd00c37 100644 --- a/htdocs/compta/bank/line.php +++ b/htdocs/compta/bank/line.php @@ -346,7 +346,7 @@ if ($result) $paymenttmp->fetch($links[$key]['url_id']); $paymenttmp->ref = $langs->trans("Payment").' '.$paymenttmp->ref; /*print ''; - print img_object($langs->trans('ShowPayment'),'payment').' '; + print img_object($langs->trans('Payment'),'payment').' '; print $langs->trans("Payment"); print '';*/ print $paymenttmp->getNomUrl(1); @@ -357,7 +357,7 @@ if ($result) $paymenttmp->fetch($links[$key]['url_id']); $paymenttmp->ref = $langs->trans("Payment").' '.$paymenttmp->ref; /*print ''; - print img_object($langs->trans('ShowPayment'),'payment').' '; + print img_object($langs->trans('Payment'),'payment').' '; print $langs->trans("Payment"); print '';*/ print $paymenttmp->getNomUrl(1); @@ -369,67 +369,67 @@ if ($result) } elseif ($links[$key]['type'] == 'sc') { print ''; - print img_object($langs->trans('ShowSocialContribution'), 'bill').' '; + print img_object($langs->trans('SocialContribution'), 'bill').' '; print $langs->trans("SocialContribution").($links[$key]['label'] ? ' - '.$links[$key]['label'] : ''); print ''; } elseif ($links[$key]['type'] == 'payment_sc') { print ''; - print img_object($langs->trans('ShowPayment'), 'payment').' '; + print img_object($langs->trans('Payment'), 'payment').' '; print $langs->trans("SocialContributionPayment"); print ''; } elseif ($links[$key]['type'] == 'payment_vat') { print ''; - print img_object($langs->trans('ShowVAT'), 'payment').' '; + print img_object($langs->trans('VAT'), 'payment').' '; print $langs->trans("VATPayment"); print ''; } elseif ($links[$key]['type'] == 'payment_salary') { print ''; - print img_object($langs->trans('ShowPaymentSalary'), 'payment').' '; + print img_object($langs->trans('PaymentSalary'), 'payment').' '; print $langs->trans("SalaryPayment"); print ''; } elseif ($links[$key]['type'] == 'payment_loan') { print ''; - print img_object($langs->trans('ShowLoanPayment'), 'payment').' '; + print img_object($langs->trans('LoanPayment'), 'payment').' '; print $langs->trans("PaymentLoan"); print ''; } elseif ($links[$key]['type'] == 'loan') { print ''; - print img_object($langs->trans('ShowLoan'), 'bill').' '; + print img_object($langs->trans('Loan'), 'bill').' '; print $langs->trans("Loan"); print ''; } elseif ($links[$key]['type'] == 'member') { print ''; - print img_object($langs->trans('ShowMember'), 'user').' '; + print img_object($langs->trans('Member'), 'user').' '; print $links[$key]['label']; print ''; } elseif ($links[$key]['type'] == 'payment_donation') { print ''; - print img_object($langs->trans('ShowDonation'), 'payment').' '; + print img_object($langs->trans('Donation'), 'payment').' '; print $langs->trans("DonationPayment"); print ''; } elseif ($links[$key]['type'] == 'banktransfert') { print ''; - print img_object($langs->trans('ShowTransaction'), 'payment').' '; + print img_object($langs->trans('Transaction'), 'payment').' '; print $langs->trans("TransactionOnTheOtherAccount"); print ''; } elseif ($links[$key]['type'] == 'user') { print ''; - print img_object($langs->trans('ShowUser'), 'user').' '; + print img_object($langs->trans('User'), 'user').' '; print $langs->trans("User"); print ''; } elseif ($links[$key]['type'] == 'payment_various') { print ''; - print img_object($langs->trans('ShowVariousPayment'), 'payment').' '; + print img_object($langs->trans('VariousPayment'), 'payment').' '; print $langs->trans("VariousPayment"); print ''; } diff --git a/htdocs/compta/bank/list.php b/htdocs/compta/bank/list.php index 2e616a6ef48..b1c76c529ad 100644 --- a/htdocs/compta/bank/list.php +++ b/htdocs/compta/bank/list.php @@ -538,7 +538,11 @@ foreach ($accounts as $key=>$type) if ($result < 0) { setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); } else { - print ''.$result->nbtodo.''; + print ''; + print ''; + print $result->nbtodo; + print ''; + print ''; if ($result->nbtodolate) { print ''; print ' '.$result->nbtodolate; @@ -552,9 +556,15 @@ foreach ($accounts as $key=>$type) } // Extra fields + if (is_array($objecttmp->array_options)) { + $obj = new stdClass(); + foreach ($objecttmp->array_options as $k => $v) { + $obj->$k = $v; + } + } include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $objecttmp); // Note that $action and $objecttmpect may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/compta/bank/various_payment/card.php b/htdocs/compta/bank/various_payment/card.php index ccd6b24c6b9..c4fdc3be56a 100644 --- a/htdocs/compta/bank/various_payment/card.php +++ b/htdocs/compta/bank/various_payment/card.php @@ -277,7 +277,7 @@ if ($action == 'create') print ''; print ''; - print load_fiche_titre($langs->trans("NewVariousPayment"), '', 'invoicing'); + print load_fiche_titre($langs->trans("NewVariousPayment"), '', 'object_payment'); dol_fiche_head('', ''); diff --git a/htdocs/compta/bank/various_payment/document.php b/htdocs/compta/bank/various_payment/document.php index 618cc6006a5..d81b9bdd41a 100644 --- a/htdocs/compta/bank/various_payment/document.php +++ b/htdocs/compta/bank/various_payment/document.php @@ -43,11 +43,12 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'banque', '', '', ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/compta/bank/various_payment/list.php b/htdocs/compta/bank/various_payment/list.php index e2aa6517417..5f68440809c 100644 --- a/htdocs/compta/bank/various_payment/list.php +++ b/htdocs/compta/bank/various_payment/list.php @@ -58,7 +58,7 @@ $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortfield) $sortfield = "v.datep,v.rowid"; @@ -95,6 +95,7 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x' $typeid = ""; } + /* * View */ @@ -178,9 +179,8 @@ if ($result) print ''; print ''; print ''; - print ''; - print_barre_liste($langs->trans("VariousPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'invoicing', 0, $newcardbutton, '', $limit); + print_barre_liste($langs->trans("VariousPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $newcardbutton, '', $limit, 0, 0, 1); print '
    '; print '
    '; diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 716f2fdd060..76914e2c13a 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -287,7 +287,7 @@ $sql .= ' s.rowid as socid, s.nom as name, s.email, s.town, s.zip, s.fk_pays, s. $sql .= " typent.code as typent_code,"; $sql .= " ava.rowid as availability,"; $sql .= " state.code_departement as state_code, state.nom as state_name,"; -$sql .= ' p.rowid, p.entity, p.note_private, p.total_ht, p.tva as total_vat, p.total as total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,p.date_livraison as ddelivery,'; +$sql .= ' p.rowid, p.entity, p.note_private, p.total_ht, p.tva as total_vat, p.total as total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut as status, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,p.date_livraison as ddelivery,'; $sql .= ' p.fk_multicurrency, p.multicurrency_code, p.multicurrency_tx, p.multicurrency_total_ht, p.multicurrency_total_tva as multicurrency_total_vat, p.multicurrency_total_ttc,'; $sql .= ' p.datec as date_creation, p.tms as date_update, p.date_cloture as date_cloture,'; $sql .= ' p.note_public, p.note_private,'; @@ -496,10 +496,10 @@ if ($resql) print ''; print ''; - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'propal', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendPropalRef"; - $modelmail = "proposal_send"; + $modelmail = "propal_send"; $objecttmp = new Propal($db); $trackid = 'pro'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; @@ -862,6 +862,8 @@ if ($resql) $objectstatic->ref_client = $obj->ref_client; $objectstatic->note_public = $obj->note_public; $objectstatic->note_private = $obj->note_private; + $objectstatic->statut = $obj->status; + $objectstatic->status = $obj->status; $companystatic->id = $obj->socid; $companystatic->name = $obj->name; @@ -909,7 +911,7 @@ if ($resql) print ''; @@ -1202,7 +1204,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation @@ -1232,7 +1234,7 @@ if ($resql) // Status if (!empty($arrayfields['p.fk_statut']['checked'])) { - print ''.$objectstatic->LibStatut($obj->fk_statut, 5).''.$objectstatic->getLibStatut(5).'
    '.$langs->trans("ThirdPartyType").''; + $sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label. + print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent); + if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); + print '
    '.$cat_label.''; + print $formother->select_categories($cat_type, $categ_id, 'categ_id', true); + print '
    '.$langs->trans("CreatedBy").''; print $form->select_dolusers($userid, 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 2a0675806dc..4764b53a5c9 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -113,7 +113,7 @@ $permissionnote = $usercancreate; // Used by the include of actions_setnotes.inc $permissiondellink = $usercancreate; // Used by the include of actions_dellink.inc.php $permissiontoadd = $usercancreate; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php -if (!empty($conf->expedition->enabled) && $conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER = 1) { +if (!empty($conf->expedition->enabled) && !empty($conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER)) { if (empty($object->warehouse_id) && !empty($conf->global->MAIN_DEFAULT_WAREHOUSE)) $object->warehouse_id = $conf->global->MAIN_DEFAULT_WAREHOUSE; if (empty($object->warehouse_id) && !empty($conf->global->MAIN_DEFAULT_WAREHOUSE_USER)) $object->warehouse_id = $user->fk_warehouse; } @@ -384,7 +384,7 @@ if (empty($reshook)) } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) // For avoid conflicts if trigger used + if (method_exists($lines[$i], 'fetch_optionals')) // For avoid conflicts if trigger used { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; @@ -1493,7 +1493,7 @@ if (!empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } // Mode creation if ($action == 'create' && $usercancreate) { - print load_fiche_titre($langs->trans('CreateOrder'), '', 'commercial'); + print load_fiche_titre($langs->trans('CreateOrder'), '', 'order'); $soc = new Societe($db); if ($socid > 0) @@ -1506,9 +1506,10 @@ if ($action == 'create' && $usercancreate) if (!empty($origin) && !empty($originid)) { // Parse element/subelement (ex: project_task) $element = $subelement = $origin; + $regs = array(); if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) { - $element = $regs [1]; - $subelement = $regs [2]; + $element = $regs[1]; + $subelement = $regs[2]; } if ($element == 'project') { diff --git a/htdocs/commande/class/api_orders.class.php b/htdocs/commande/class/api_orders.class.php index 289bbea2c7e..ab0abb3d151 100644 --- a/htdocs/commande/class/api_orders.class.php +++ b/htdocs/commande/class/api_orders.class.php @@ -33,7 +33,8 @@ class Orders extends DolibarrApi * @var array $FIELDS Mandatory fields, checked when create and update object */ static $FIELDS = array( - 'socid' + 'socid', + 'date' ); /** @@ -233,7 +234,9 @@ class Orders extends DolibarrApi } /** - * Create order object + * Create a sale order + * + * Exemple: { "socid": 2, "date": 1595196000, "type": 0, "lines": [{ "fk_product": 2, "qty": 1 }] } * * @param array $request_data Request data * @return int ID of order diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 9ebc0b166dc..b911a03e3ad 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3342,7 +3342,7 @@ class Commande extends CommonOrder $error++; $this->errors[] = "Error ".$this->db->lasterror(); } - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -3409,6 +3409,19 @@ class Commande extends CommonOrder $error++; } + if (!$error) + { + // Delete extrafields of order details + $main = MAIN_DB_PREFIX.'commandedet'; + $ef = $main."_extrafields"; + $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_commande = ".$this->id.")"; + if (!$this->db->query($sql)) + { + $error++; + $this->errors[] = $this->db->lasterror(); + } + } + if (!$error) { // Delete order details @@ -3437,14 +3450,11 @@ class Commande extends CommonOrder if (!$error) { // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + $result = $this->deleteExtraFields(); + if ($result < 0) { - $result = $this->deleteExtraFields(); - if ($result < 0) - { - $error++; - dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR); - } + $error++; + dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR); } } @@ -3697,7 +3707,7 @@ class Commande extends CommonOrder $label = ''; if ($user->rights->commande->lire) { - $label = ''.$langs->trans("ShowOrder").''; + $label = ''.$langs->trans("Order").''; $label .= '
    '.$langs->trans('Ref').': '.$this->ref; $label .= '
    '.$langs->trans('RefCustomer').': '.($this->ref_customer ? $this->ref_customer : $this->ref_client); if (!empty($this->total_ht)) { @@ -3709,6 +3719,9 @@ class Commande extends CommonOrder if (!empty($this->total_ttc)) { $label .= '
    '.$langs->trans('AmountTTC').': '.price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); } + if (isset($this->statut)) { + $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); + } } $linkclose = ''; @@ -3716,7 +3729,7 @@ class Commande extends CommonOrder { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowOrder"); + $label = $langs->trans("Order"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; @@ -4252,7 +4265,7 @@ class OrderLine extends CommonOrderLine if ($resql) { // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $this->id = $this->rowid; $result = $this->deleteExtraFields(); @@ -4398,7 +4411,7 @@ class OrderLine extends CommonOrderLine $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'commandedet'); $this->rowid = $this->id; - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -4531,7 +4544,7 @@ class OrderLine extends CommonOrderLine $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $this->id = $this->rowid; $result = $this->insertExtraFields(); diff --git a/htdocs/commande/class/commandestats.class.php b/htdocs/commande/class/commandestats.class.php index 8b6dc4db6ec..cbb93b940de 100644 --- a/htdocs/commande/class/commandestats.class.php +++ b/htdocs/commande/class/commandestats.class.php @@ -3,6 +3,7 @@ * Copyright (c) 2005-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -45,17 +46,20 @@ class CommandeStats extends Stats public $from; public $field; public $where; + public $join; /** * Constructor * - * @param DoliDB $db Database handler - * @param int $socid Id third party for filter. This value must be forced during the new to external user company if user is an external user. - * @param string $mode Option ('customer', 'supplier') - * @param int $userid Id user for filter (creation user) + * @param DoliDB $db Database handler + * @param int $socid Id third party for filter. This value must be forced during the new to external user company if user is an external user. + * @param string $mode Option ('customer', 'supplier') + * @param int $userid Id user for filter (creation user) + * @param int $typentid Id typent of thirdpary for filter + * @param int $categid Id category of thirdpary for filter */ - public function __construct($db, $socid, $mode, $userid = 0) + public function __construct($db, $socid, $mode, $userid = 0, $typentid = 0, $categid = 0) { global $user, $conf; @@ -64,6 +68,7 @@ class CommandeStats extends Stats $this->socid = ($socid > 0 ? $socid : 0); $this->userid = $userid; $this->cachefilesuffix = $mode; + $this->join = ''; if ($mode == 'customer') { @@ -92,6 +97,19 @@ class CommandeStats extends Stats $this->where .= " AND c.fk_soc = ".$this->socid; } if ($this->userid > 0) $this->where .= ' AND c.fk_user_author = '.$this->userid; + + if ($typentid) + { + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON s.rowid = c.fk_soc'; + $this->where .= ' AND s.fk_typent = '.$typentid; + } + + if ($categid) + { + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_societe as cats ON cats.fk_soc = c.fk_soc'; + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie as cat ON cat.rowid = cats.fk_categorie'; + $this->where .= ' AND cat.rowid = '.$categid; + } } /** @@ -108,6 +126,7 @@ class CommandeStats extends Stats $sql = "SELECT date_format(c.date_commande,'%m') as dm, COUNT(*) as nb"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE c.date_commande 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"; @@ -130,6 +149,7 @@ class CommandeStats extends Stats $sql = "SELECT date_format(c.date_commande,'%Y') as dm, COUNT(*) as nb, SUM(c.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY dm"; $sql .= $this->db->order('dm', 'DESC'); @@ -151,6 +171,7 @@ class CommandeStats extends Stats $sql = "SELECT date_format(c.date_commande,'%m') as dm, SUM(c.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE c.date_commande 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"; @@ -173,6 +194,7 @@ class CommandeStats extends Stats $sql = "SELECT date_format(c.date_commande,'%m') as dm, AVG(c.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE c.date_commande 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"; @@ -193,6 +215,7 @@ class CommandeStats extends Stats $sql = "SELECT date_format(c.date_commande,'%Y') as year, COUNT(*) as nb, SUM(c.".$this->field.") as total, AVG(".$this->field.") as avg"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY year"; $sql .= $this->db->order('year', 'DESC'); @@ -214,6 +237,7 @@ class CommandeStats extends Stats $sql = "SELECT product.ref, COUNT(product.ref) as nb, SUM(tl.".$this->field_line.") as total, AVG(tl.".$this->field_line.") as avg"; $sql .= " FROM ".$this->from.", ".$this->from_line.", ".MAIN_DB_PREFIX."product as product"; if (!$user->rights->societe->client->voir && !$user->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " AND c.rowid = tl.fk_commande AND tl.fk_product = product.rowid"; $sql .= " AND c.date_commande BETWEEN '".$this->db->idate(dol_get_first_day($year, 1, false))."' AND '".$this->db->idate(dol_get_last_day($year, 12, false))."'"; diff --git a/htdocs/commande/document.php b/htdocs/commande/document.php index 4fa1095998a..9d188cda104 100644 --- a/htdocs/commande/document.php +++ b/htdocs/commande/document.php @@ -52,11 +52,12 @@ if ($user->socid) $result = restrictedArea($user, 'commande', $id, ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/commande/index.php b/htdocs/commande/index.php index 52e5108ff5f..13d67c942ed 100644 --- a/htdocs/commande/index.php +++ b/htdocs/commande/index.php @@ -64,7 +64,7 @@ $help_url = "EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_P llxHeader("", $langs->trans("Orders"), $help_url); -print load_fiche_titre($langs->trans("OrdersArea"), '', 'commercial'); +print load_fiche_titre($langs->trans("OrdersArea"), '', 'order'); print '
    '; @@ -106,6 +106,7 @@ if ($resql) $total = 0; $totalinprocess = 0; $dataseries = array(); + $colorseries = array(); $vals = array(); // -1=Canceled, 0=Draft, 1=Validated, 2=Accepted/On process, 3=Closed (Sent/Received, billed or not) while ($i < $num) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 4c2ade29fcc..3b83e04fe3c 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -348,7 +348,7 @@ if ($search_user > 0) $sql .= " AND ec.fk_c_type_contact if ($search_total_ht != '') $sql .= natural_search('c.total_ht', $search_total_ht, 1); if ($search_total_vat != '') $sql .= natural_search('c.tva', $search_total_vat, 1); if ($search_total_ttc != '') $sql .= natural_search('c.total_ttc', $search_total_ttc, 1); -if ($search_warehouse != '') $sql .= natural_search('c.fk_warehouse', $search_warehouse, 1); +if ($search_warehouse != '' && $search_warehouse != '-1') $sql .= natural_search('c.fk_warehouse', $search_warehouse, 1); if ($search_multicurrency_code != '') $sql .= ' AND c.multicurrency_code = "'.$db->escape($search_multicurrency_code).'"'; if ($search_multicurrency_tx != '') $sql .= natural_search('c.multicurrency_tx', $search_multicurrency_tx, 1); if ($search_multicurrency_montant_ht != '') $sql .= natural_search('c.multicurrency_total_ht', $search_multicurrency_montant_ht, 1); @@ -502,7 +502,7 @@ if ($resql) print ''; print ''; - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'order', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendOrderRef"; $modelmail = "order_send"; @@ -603,7 +603,7 @@ if ($resql) $moreforfilter .= $formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1); $moreforfilter .= '
    '; } - if (!empty($conf->expedition->enabled) && $conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER = 1) { + if (!empty($conf->expedition->enabled) && !empty($conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER)) { require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; $formproduct = new FormProduct($db); $moreforfilter .= '
    '; @@ -901,6 +901,7 @@ if ($resql) $generic_commande->id = $obj->rowid; $generic_commande->ref = $obj->ref; $generic_commande->statut = $obj->fk_statut; + $generic_commande->billed = $obj->billed; $generic_commande->date = $db->jdate($obj->date_commande); $generic_commande->date_livraison = $db->jdate($obj->date_delivery); $generic_commande->ref_client = $obj->ref_client; @@ -919,7 +920,7 @@ if ($resql) // Ref if (!empty($arrayfields['c.ref']['checked'])) { - print '
    '; + print ''; $generic_commande->getLinesArray(); // This set ->lines @@ -1225,7 +1226,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index bad5034eac5..f230f7935a5 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -285,7 +285,7 @@ if (($action == 'create' || $action == 'add') && !$error) } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; } diff --git a/htdocs/commande/stats/index.php b/htdocs/commande/stats/index.php index cc62d7a9089..4e7ed481882 100644 --- a/htdocs/commande/stats/index.php +++ b/htdocs/commande/stats/index.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +29,10 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formorder.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; $WIDTH = DolGraph::getDefaultGraphSizeForStats('width'); @@ -39,6 +43,8 @@ if ($mode == 'customer' && !$user->rights->commande->lire) accessforbidden(); if ($mode == 'supplier' && !$user->rights->fournisseur->commande->lire) accessforbidden(); $object_status = GETPOST('object_status'); +$typent_id = GETPOST('typent_id', 'int'); +$categ_id = GETPOST('categ_id', 'categ_id'); $userid = GETPOST('userid', 'int'); $socid = GETPOST('socid', 'int'); @@ -65,25 +71,27 @@ $langs->loadLangs(array('orders', 'companies', 'other', 'suppliers')); $form = new Form($db); $formorder = new FormOrder($db); +$formcompany = new FormCompany($db); +$formother = new FormOther($db); + +$picto = 'order'; +$title = $langs->trans("OrdersStatistics"); +$dir = $conf->commande->dir_temp; -if ($mode == 'customer') -{ - $title = $langs->trans("OrdersStatistics"); - $dir = $conf->commande->dir_temp; -} if ($mode == 'supplier') { + $picto = 'supplier_order'; $title = $langs->trans("OrdersStatisticsSuppliers").' ('.$langs->trans("SentToSuppliers").")"; $dir = $conf->fournisseur->commande->dir_temp; } llxHeader('', $title); -print load_fiche_titre($title, '', 'commercial'); +print load_fiche_titre($title, '', $picto); dol_mkdir($dir); -$stats = new CommandeStats($db, $socid, $mode, ($userid > 0 ? $userid : 0)); +$stats = new CommandeStats($db, $socid, $mode, ($userid > 0 ? $userid : 0), ($typent_id > 0 ? $typent_id : 0), ($categ_id > 0 ? $categ_id : 0)); if ($mode == 'customer') { if ($object_status != '' && $object_status >= -1) $stats->where .= ' AND c.fk_statut IN ('.$db->escape($object_status).')'; @@ -266,6 +274,26 @@ 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, 0, 0, array(), 0, '', 'style="width: 95%"'); print '
    '.$langs->trans("ThirdPartyType").''; +$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label. +print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent); +if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); +print '
    '.$cat_label.''; +print $formother->select_categories($cat_type, $categ_id, 'categ_id', true); +print '
    '.$langs->trans("CreatedBy").''; print $form->select_dolusers($userid, 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); diff --git a/htdocs/compta/accounting-files.php b/htdocs/compta/accounting-files.php index 8b671656f0f..faf2feeb7a0 100644 --- a/htdocs/compta/accounting-files.php +++ b/htdocs/compta/accounting-files.php @@ -2,6 +2,7 @@ /* Copyright (C) 2001-2006 Rodolphe Quiedeville * Copyright (C) 2004-2019 Laurent Destailleur * Copyright (C) 2017 Pierre-Henry Favre + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,8 +24,8 @@ * \brief Page to show portoflio and files of a thirdparty and download it */ -if ($_GET['action'] == 'dl' || $_POST['action'] == 'dl') { // To not replace token when downloading file - if (!defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); +if ((array_key_exists('action', $_GET) && $_GET['action'] == 'dl') || (array_key_exists('action', $_POST) && $_POST['action'] == 'dl')) { // To not replace token when downloading file + if (!defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); } require '../main.inc.php'; @@ -37,8 +38,16 @@ require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php' require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/paymentloan.class.php'; -$langs->loadLangs(array("accountancy", "bills", "companies", "salaries", "compta", "trips")); +// Constant to define payment sens +const PAY_DEBIT = 0; +const PAY_CREDIT = 1; + +$langs->loadLangs(array("accountancy", "bills", "companies", "salaries", "compta", "trips", "banks", "loan")); $date_start = GETPOST('date_start', 'alpha'); $date_startDay = GETPOST('date_startday', 'int'); @@ -140,7 +149,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { // Customer invoices if (GETPOST('selectinvoices')) { if (!empty($sql)) $sql .= " UNION ALL"; - $sql .= "SELECT t.rowid as id, t.entity, t.ref, t.paye as paid, t.total as total_ht, t.total_ttc, t.tva as total_vat, t.fk_soc, t.datef as date, t.date_lim_reglement as date_due, 'Invoice' as item, s.nom as thirdparty_name, s.code_client as thirdparty_code, c.code as country_code, s.tva_intra as vatnum"; + $sql .= "SELECT t.rowid as id, t.entity, t.ref, t.paye as paid, t.total as total_ht, t.total_ttc, t.tva as total_vat, t.fk_soc, t.datef as date, t.date_lim_reglement as date_due, 'Invoice' as item, s.nom as thirdparty_name, s.code_client as thirdparty_code, c.code as country_code, s.tva_intra as vatnum, ".PAY_CREDIT." as sens"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as t LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = t.fk_soc LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = s.fk_pays"; $sql .= " WHERE datef between ".$wheretail; $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; @@ -149,7 +158,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { // Vendor invoices if (GETPOST('selectsupplierinvoices')) { if (!empty($sql)) $sql .= " UNION ALL"; - $sql .= " SELECT t.rowid as id, t.entity, t.ref, t.paye as paid, t.total_ht, t.total_ttc, t.total_tva as total_vat, t.fk_soc, t.datef as date, t.date_lim_reglement as date_due, 'SupplierInvoice' as item, s.nom as thirdparty_name, s.code_fournisseur as thirdparty_code, c.code as country_code, s.tva_intra as vatnum"; + $sql .= " SELECT t.rowid as id, t.entity, t.ref, t.paye as paid, t.total_ht, t.total_ttc, t.total_tva as total_vat, t.fk_soc, t.datef as date, t.date_lim_reglement as date_due, 'SupplierInvoice' as item, s.nom as thirdparty_name, s.code_fournisseur as thirdparty_code, c.code as country_code, s.tva_intra as vatnum, ".PAY_DEBIT." as sens"; $sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as t LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = t.fk_soc LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = s.fk_pays"; $sql .= " WHERE datef between ".$wheretail; $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; @@ -158,7 +167,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { // Expense reports if (GETPOST('selectexpensereports')) { if (!empty($sql)) $sql .= " UNION ALL"; - $sql .= " SELECT t.rowid as id, t.entity, t.ref, t.paid, t.total_ht, t.total_ttc, t.total_tva as total_vat, t.fk_user_author as fk_soc, t.date_fin as date, t.date_fin as date_due, 'ExpenseReport' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum"; + $sql .= " SELECT t.rowid as id, t.entity, t.ref, t.paid, t.total_ht, t.total_ttc, t.total_tva as total_vat, t.fk_user_author as fk_soc, t.date_fin as date, t.date_fin as date_due, 'ExpenseReport' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum, ".PAY_DEBIT." as sens"; $sql .= " FROM ".MAIN_DB_PREFIX."expensereport as t LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = t.fk_user_author LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = u.fk_country"; $sql .= " WHERE date_fin between ".$wheretail; $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; @@ -167,7 +176,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { // Donations if (GETPOST('selectdonations')) { if (!empty($sql)) $sql .= " UNION ALL"; - $sql .= " SELECT t.rowid as id, t.entity, t.ref, paid, amount as total_ht, amount as total_ttc, 0 as total_vat, 0 as fk_soc, t.datedon as date, t.datedon as date_due, 'Donation' as item, t.societe as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum"; + $sql .= " SELECT t.rowid as id, t.entity, t.ref, paid, amount as total_ht, amount as total_ttc, 0 as total_vat, 0 as fk_soc, t.datedon as date, t.datedon as date_due, 'Donation' as item, t.societe as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum, ".PAY_CREDIT." as sens"; $sql .= " FROM ".MAIN_DB_PREFIX."don as t LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = t.fk_country"; $sql .= " WHERE datedon between ".$wheretail; $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; @@ -176,7 +185,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { // Paiements of salaries if (GETPOST('selectpaymentsofsalaries')) { if (!empty($sql)) $sql .= " UNION ALL"; - $sql .= " SELECT t.rowid as id, t.entity, t.ref as ref, 1 as paid, amount as total_ht, amount as total_ttc, 0 as total_vat, t.fk_user as fk_soc, t.datep as date, t.dateep as date_due, 'SalaryPayment' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum"; + $sql .= " SELECT t.rowid as id, t.entity, t.label as ref, 1 as paid, amount as total_ht, amount as total_ttc, 0 as total_vat, t.fk_user as fk_soc, t.datep as date, t.dateep as date_due, 'SalaryPayment' as item, CONCAT(CONCAT(u.lastname, ' '), u.firstname) as thirdparty_name, '' as thirdparty_code, c.code as country_code, '' as vatnum, ".PAY_DEBIT." as sens"; $sql .= " FROM ".MAIN_DB_PREFIX."payment_salary as t LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = t.fk_user LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON c.rowid = u.fk_country"; $sql .= " WHERE datep between ".$wheretail; $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; @@ -185,12 +194,28 @@ if (($action == 'searchfiles' || $action == 'dl')) { // Social contributions if (GETPOST('selectsocialcontributions')) { if (!empty($sql)) $sql .= " UNION ALL"; - $sql .= " SELECT t.rowid as id, t.entity, t.libelle as ref, t.paye as paid, t.amount as total_ht, t.amount as total_ttc, 0 as total_tva, 0 as fk_soc, t.date_creation as date, t.date_ech as date_due, 'SocialContributions' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum"; + $sql .= " SELECT t.rowid as id, t.entity, t.libelle as ref, t.paye as paid, t.amount as total_ht, t.amount as total_ttc, 0 as total_tva, 0 as fk_soc, t.date_ech as date, t.periode as date_due, 'SocialContributions' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum, ".PAY_DEBIT." as sens"; $sql .= " FROM ".MAIN_DB_PREFIX."chargesociales as t"; - $sql .= " WHERE date_creation between ".$wheretail; + $sql .= " WHERE t.date_ech between ".$wheretail; $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; //$sql.=" AND fk_statut <> ".ChargeSociales::STATUS_DRAFT; } + // Various payments + if (GETPOST('selectvariouspayment')) { + if (!empty($sql)) $sql .= " UNION ALL"; + $sql .= " SELECT t.rowid as id, t.entity, t.label as ref, 1 as paid, t.amount as total_ht, t.amount as total_ttc, 0 as total_tva, 0 as fk_soc, t.datep as date, t.datep as date_due, 'VariousPayment' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum, sens"; + $sql .= " FROM ".MAIN_DB_PREFIX."payment_various as t"; + $sql .= " WHERE datep between ".$wheretail; + $sql .= " AND t.entity IN (".($entity == 1 ? '0,1' : $entity).')'; + } + // Loan payments + if (GETPOST('selectloanspayment')) { + if (!empty($sql)) $sql .= " UNION ALL"; + $sql .= " SELECT t.rowid as id, l.entity, l.label as ref, 1 as paid, (t.amount_capital+t.amount_insurance+t.amount_interest) as total_ht, (t.amount_capital+t.amount_insurance+t.amount_interest) as total_ttc, 0 as total_tva, 0 as fk_soc, t.datep as date, t.datep as date_due, 'LoanPayment' as item, '' as thirdparty_name, '' as thirdparty_code, '' as country_code, '' as vatnum, ".PAY_DEBIT." as sens"; + $sql .= " FROM ".MAIN_DB_PREFIX."payment_loan as t LEFT JOIN ".MAIN_DB_PREFIX."loan as l ON l.rowid = t.fk_loan"; + $sql .= " WHERE datep between ".$wheretail; + $sql .= " AND l.entity IN (".($entity == 1 ? '0,1' : $entity).')'; + } if ($sql) { $sql .= $db->order($sortfield, $sortorder); @@ -221,6 +246,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->ref); $upload_dir = $conf->facture->dir_output.'/'.$subdir; $link = "document.php?modulepart=facture&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "facture"; break; case "SupplierInvoice": $tmpinvoicesupplier->fetch($objd->id); @@ -228,18 +254,21 @@ if (($action == 'searchfiles' || $action == 'dl')) { $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->ref); $upload_dir = $conf->fournisseur->facture->dir_output.'/'.$subdir; $link = "document.php?modulepart=facture_fournisseur&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "facture_fournisseur"; break; case "ExpenseReport": $subdir = ''; $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->ref); $upload_dir = $conf->expensereport->dir_output.'/'.$subdir; $link = "document.php?modulepart=expensereport&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "expensereport"; break; case "SalaryPayment": $subdir = ''; $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->id); $upload_dir = $conf->salaries->dir_output.'/'.$subdir; $link = "document.php?modulepart=salaries&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "salaries"; break; case "Donation": $tmpdonation->fetch($objp->id); @@ -247,12 +276,28 @@ if (($action == 'searchfiles' || $action == 'dl')) { $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->id); $upload_dir = $conf->don->dir_output.'/'.$subdir; $link = "document.php?modulepart=don&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "don"; break; case "SocialContributions": $subdir = ''; $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->id); $upload_dir = $conf->tax->dir_output.'/'.$subdir; $link = "document.php?modulepart=tax&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "tax"; + break; + case "VariousPayment": + $subdir = ''; + $subdir .= ($subdir ? '/' : '').dol_sanitizeFileName($objd->id); + $upload_dir = $conf->bank->dir_output.'/'.$subdir; + $link = "document.php?modulepart=banque&file=".str_replace('/', '%2F', $subdir).'%2F'; + $modulepart = "banque"; + break; + case "LoanPayment": + // Loan payment has no linked file + $subdir = ''; + $upload_dir = $conf->loan->dir_output.'/'.$subdir; + $link = ""; + $modulepart = ""; break; default: $subdir = ''; @@ -286,6 +331,7 @@ if (($action == 'searchfiles' || $action == 'dl')) { $nofile['thirdparty_code'] = $objd->thirdparty_code; $nofile['country_code'] = $objd->country_code; $nofile['vatnum'] = $objd->vatnum; + $nofile['sens'] = $objd->sens; $filesarray[$nofile['item'].'_'.$nofile['id']] = $nofile; } @@ -304,11 +350,11 @@ if (($action == 'searchfiles' || $action == 'dl')) { $file['ref'] = ($objd->ref ? $objd->ref : $objd->id); $file['fk'] = $objd->fk_soc; $file['item'] = $objd->item; - $file['thirdparty_name'] = $objd->thirdparty_name; $file['thirdparty_code'] = $objd->thirdparty_code; $file['country_code'] = $objd->country_code; $file['vatnum'] = $objd->vatnum; + $file['sens'] = $objd->sens; // Save record into array (only the first time it is found) if (empty($filesarray[$file['item'].'_'.$file['id']])) { @@ -319,7 +365,16 @@ if (($action == 'searchfiles' || $action == 'dl')) { if (empty($filesarray[$file['item'].'_'.$file['id']]['files'])) { $filesarray[$file['item'].'_'.$file['id']]['files'] = array(); } - $filesarray[$file['item'].'_'.$file['id']]['files'][] = array('link' => $link.$file['name'], 'name'=>$file['name'], 'ref'=>$file['ref'], 'fullname' => $file['fullname'], 'relpathnamelang' => $langs->trans($file['item']).'/'.$file['name']); + $filesarray[$file['item'].'_'.$file['id']]['files'][] = array( + 'link' => $link.urlencode($file['name']), + 'name'=>$file['name'], + 'ref'=>$file['ref'], + 'fullname' => $file['fullname'], + 'relpath' => '/'.$file['name'], + 'relpathnamelang' => $langs->trans($file['item']).'/'.$file['name'], + 'modulepart' => $modulepart, + 'subdir' => $subdir, + ); //var_dump($file['item'].'_'.$file['id']); //var_dump($filesarray[$file['item'].'_'.$file['id']]['files']); } @@ -383,7 +438,8 @@ if ($result && $action == "dl" && !$error) $log .= ','.$langs->transnoentitiesnoconv("ThirdParty"); $log .= ','.$langs->transnoentitiesnoconv("Code"); $log .= ','.$langs->transnoentitiesnoconv("Country"); - $log .= ','.$langs->transnoentitiesnoconv("VATIntra")."\n"; + $log .= ','.$langs->transnoentitiesnoconv("VATIntra"); + $log .= ','.$langs->transnoentitiesnoconv("Sens")."\n"; $zipname = $dirfortmpfile.'/'.dol_print_date($date_start, 'dayrfc')."-".dol_print_date($date_stop, 'dayrfc').'_export.zip'; dol_delete_file($zipname); @@ -394,11 +450,13 @@ if ($result && $action == "dl" && !$error) { foreach ($filesarray as $key => $file) { - foreach ($file['files'] as $filecursor) { - if (file_exists($filecursor["fullname"])) { - $zip->addFile($filecursor["fullname"], $filecursor["relpathnamelang"]); - } - } + if (!empty($file['files'])) { + foreach ($file['files'] as $filecursor) { + if (file_exists($filecursor["fullname"])) { + $zip->addFile($filecursor["fullname"], $filecursor["relpathnamelang"]); + } + } + } $log .= '"'.$langs->trans($file['item']).'"'; if (!empty($conf->multicompany->enabled) && is_object($mc)) @@ -418,6 +476,7 @@ if ($result && $action == "dl" && !$error) $log .= ',"'.$file['thirdparty_code'].'"'; $log .= ',"'.$file['country_code'].'"'; $log .= ',"'.$file['vatnum'].'"'; + $log .= ',"'.$file['sens'].'"'; $log .= "\n"; } $zip->addFromString('transactions.csv', $log); @@ -444,10 +503,17 @@ if ($result && $action == "dl" && !$error) * View */ -$form = new Form($db); +$form = new form($db); +$formfile = new FormFile($db); $userstatic = new User($db); $invoice = new Facture($db); $supplier_invoice = new FactureFournisseur($db); +$expensereport = new ExpenseReport($db); +$don = new Don($db); +$salary_payment = new PaymentSalary($db); +$charge_sociales = new ChargeSociales($db); +$various_payment = new PaymentVarious($db); +$payment_loan = new PaymentLoan($db); $title = $langs->trans("ComptaFiles").' - '.$langs->trans("List"); $help_url = ''; @@ -492,7 +558,9 @@ $listofchoices = array( 'selectexpensereports'=>array('label'=>'ExpenseReports', 'lang'=>'trips'), 'selectdonations'=>array('label'=>'Donations', 'lang'=>'donation'), 'selectpaymentsofsalaries'=>array('label'=>'SalariesPayments', 'lang'=>'salaries'), - 'selectsocialcontributions'=>array('label'=>'SocialContributions') + 'selectsocialcontributions'=>array('label'=>'SocialContributions'), + 'selectvariouspayment'=>array('label'=>'VariousPayment'), + 'selectloanspayment'=>array('label'=>'PaymentLoan'), ); foreach ($listofchoices as $choice => $val) { $checked = (((!GETPOSTISSET('search') && $action != 'searchfiles') || GETPOST($choice)) ? ' checked="checked"' : ''); @@ -562,11 +630,12 @@ if (!empty($date_start) && !empty($date_stop)) { // Sort array by date ASC to calculate balance - $totalET = 0; - $totalIT = 0; - $totalVAT = 0; - $totalDebit = 0; - $totalCredit = 0; + $totalET_debit = 0; + $totalIT_debit = 0; + $totalVAT_debit = 0; + $totalET_credit = 0; + $totalIT_credit = 0; + $totalVAT_credit = 0; // Display array foreach ($TData as $data) @@ -592,25 +661,49 @@ if (!empty($date_start) && !empty($date_stop)) // Ref print ''; - if ($data['item'] == 'Invoice') { - $invoice->id = $data['id']; + if ($data['item'] == 'Invoice') { + $invoice->id = $data['id']; $invoice->ref = $data['ref']; print $invoice->getNomUrl(1, '', 0, 0, '', 0, 0, 0); - } elseif ($data['item'] == 'SupplierInvoice') { + } elseif ($data['item'] == 'SupplierInvoice') { $supplier_invoice->id = $data['id']; $supplier_invoice->ref = $data['ref']; print $supplier_invoice->getNomUrl(1, '', 0, 0, '', 0, 0, 0); - } else { + } elseif ($data['item'] == 'ExpenseReport') { + $expensereport->id = $data['id']; + $expensereport->ref = $data['ref']; + print $expensereport->getNomUrl(1, 0, 0, '', 0, 0); + } elseif ($data['item'] == 'SalaryPayment') { + $salary_payment->id = $data['id']; + $salary_payment->ref = $data['ref']; + print $salary_payment->getNomUrl(1, '', 0, '', 0); + } elseif ($data['item'] == 'Donation') { + $don->id = $data['id']; + $don->ref = $data['ref']; + print $don->getNomUrl(1, 0, '', 0); + } elseif ($data['item'] == 'SocialContributions') { + $charge_sociales->id = $data['id']; + $charge_sociales->ref = $data['ref']; + print $charge_sociales->getNomUrl(1, 0, 0, 0, 0); + } elseif ($data['item'] == 'VariousPayment') { + $various_payment->id = $data['id']; + $various_payment->ref = $data['ref']; + print $various_payment->getNomUrl(1, '', 0, 0); + } elseif ($data['item'] == 'LoanPayment') { + $payment_loan->id = $data['id']; + $payment_loan->ref = $data['ref']; + print $payment_loan->getNomUrl(1, 0, 0, '', 0); + } else { print $data['ref']; - } + } print ''; if (!empty($data['files'])) { - foreach ($data['files'] as $filecursor) { - print ''.($filecursor['name'] ? $filecursor['name'] : $filecursor['ref']).'
    '; + foreach ($data['files'] as $id=>$filecursor) { + print ''.($filecursor['name'] ? $filecursor['name'] : $filecursor['ref']).' '.$formfile->showPreview($filecursor, $filecursor['modulepart'], $filecursor['subdir'].'/'.$filecursor['name']).'
    '; } } print "
    '.$data['paid'].''.price($data['amount_ht'])."'.price($data['sens'] ? $data['amount_ht'] : -$data['amount_ht'])."'.price($data['amount_ttc'])."'.price($data['sens'] ? $data['amount_ttc'] : -$data['amount_ttc'])."'.price($data['amount_vat'])."'.price($data['sens'] ? $data['amount_vat'] : -$data['amount_vat'])."'.$data['thirdparty_name']."'.$data['vatnum']."'.(($data['amount_ttc'] > 0) ? price(abs($data['amount_ttc'])) : '')."'.(($data['amount_ttc'] > 0) ? '' : price(abs($data['amount_ttc'])))."'.price($data['balance'])."
    '.price(price2num($totalET, 'MT')).''.price(price2num($totalIT, 'MT')).''.price(price2num($totalVAT, 'MT')).''.price($totalDebit).''.price($totalCredit).''.price(price2num($totalDebit - $totalCredit, 'MT')).''.$langs->trans('Total').' '.$langs->trans('Income').''.price(price2num($totalET_credit, 'MT')).''.price(price2num($totalIT_credit, 'MT')).''.price(price2num($totalVAT_credit, 'MT')).'
    '.$langs->trans('Total').' '.$langs->trans('Outcome').''.price(price2num($totalET_debit, 'MT')).''.price(price2num($totalIT_debit, 'MT')).''.price(price2num($totalVAT_debit, 'MT')).'
    '.$langs->trans('Total').''.price(price2num($totalET_credit + $totalET_debit, 'MT')).''.price(price2num($totalIT_credit + $totalIT_debit, 'MT')).''.price(price2num($totalVAT_credit + $totalVAT_debit, 'MT')).'
    '."\n"; diff --git a/htdocs/compta/cashcontrol/cashcontrol_list.php b/htdocs/compta/cashcontrol/cashcontrol_list.php index 313627016c8..a98c9ea83f5 100644 --- a/htdocs/compta/cashcontrol/cashcontrol_list.php +++ b/htdocs/compta/cashcontrol/cashcontrol_list.php @@ -495,7 +495,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index e9aa35d80b3..93065219248 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -102,11 +102,11 @@ print ''; if ($mode != 'sconly') { $center = ($year ? ''.img_previous($langs->trans("Previous"), 'class="valignbottom"')." ".$langs->trans("Year").' '.$year.' '.img_next($langs->trans("Next"), 'class="valignbottom"')."" : ""); - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'title_accountancy', 0, '', '', $limit, 1); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'object_payment', 0, '', '', $limit, 1); } else { - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'title_accountancy', 0, '', '', $limit); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'object_payment', 0, '', '', $limit, 0); } if ($year) $param .= '&year='.$year; diff --git a/htdocs/compta/clients.php b/htdocs/compta/clients.php index 1dc13c0580f..6c1439d5466 100644 --- a/htdocs/compta/clients.php +++ b/htdocs/compta/clients.php @@ -44,11 +44,12 @@ $langs->load("companies"); $mode = GETPOST("mode"); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/compta/deplacement/document.php b/htdocs/compta/deplacement/document.php index 4f42ae2292b..2cef0b3e6cd 100644 --- a/htdocs/compta/deplacement/document.php +++ b/htdocs/compta/deplacement/document.php @@ -48,11 +48,12 @@ $result = restrictedArea($user, 'deplacement', $id, ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/compta/deplacement/index.php b/htdocs/compta/deplacement/index.php index e95d7f95732..9d45bafd20f 100644 --- a/htdocs/compta/deplacement/index.php +++ b/htdocs/compta/deplacement/index.php @@ -35,11 +35,12 @@ $socid = GETPOST('socid', 'int'); if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'deplacement', '', ''); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "DESC"; diff --git a/htdocs/compta/facture/card-rec.php b/htdocs/compta/facture/card-rec.php index 26eee81375f..cad443940f4 100644 --- a/htdocs/compta/facture/card-rec.php +++ b/htdocs/compta/facture/card-rec.php @@ -979,7 +979,7 @@ $today = dol_mktime(23, 59, 59, $tmparray['mon'], $tmparray['mday'], $tmparray[' */ if ($action == 'create') { - print load_fiche_titre($langs->trans("CreateRepeatableInvoice"), '', 'invoicing'); + print load_fiche_titre($langs->trans("CreateRepeatableInvoice"), '', 'bill'); $object = new Facture($db); // Source invoice $product_static = new Product($db); diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 5e280535c27..ab2262844bf 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -140,8 +140,8 @@ $isdraft = (($object->statut == Facture::STATUS_DRAFT) ? 1 : 0); $result = restrictedArea($user, 'facture', $id, '', '', 'fk_soc', $fieldid, $isdraft); // retained warranty invoice available type -$retainedWarrantyInvoiceAvailableType=array(); -if(!empty($conf->global->INVOICE_USE_RETAINED_WARRANTY)) { +$retainedWarrantyInvoiceAvailableType = array(); +if (!empty($conf->global->INVOICE_USE_RETAINED_WARRANTY)) { $retainedWarrantyInvoiceAvailableType = explode('+', $conf->global->INVOICE_USE_RETAINED_WARRANTY); } @@ -952,7 +952,7 @@ if (empty($reshook)) } $discount->tva_tx = abs($tva_tx); - $discount->vat_src_code =$vat_src_code; + $discount->vat_src_code = $vat_src_code; $result = $discount->create($user); if ($result < 0) @@ -1146,7 +1146,7 @@ if (empty($reshook)) foreach ($facture_source->lines as $line) { // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($line, 'fetch_optionals')) { + if (method_exists($line, 'fetch_optionals')) { // load extrafields $line->fetch_optionals(); } @@ -1362,11 +1362,11 @@ if (empty($reshook)) $object->situation_cycle_ref = $object->newCycle(); } - if(in_array($object->type, $retainedWarrantyInvoiceAvailableType)){ + if (in_array($object->type, $retainedWarrantyInvoiceAvailableType)) { $object->retained_warranty = GETPOST('retained_warranty', 'int'); $object->retained_warranty_fk_cond_reglement = GETPOST('retained_warranty_fk_cond_reglement', 'int'); } - else{ + else { $object->retained_warranty = 0; $object->retained_warranty_fk_cond_reglement = 0; } @@ -1644,7 +1644,7 @@ if (empty($reshook)) } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; } @@ -1768,19 +1768,21 @@ if (empty($reshook)) if (!empty($origin) && !empty($originid)) { + include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; + $object->origin = $origin; $object->origin_id = $originid; // retained warranty - if(!empty($conf->global->INVOICE_USE_RETAINED_WARRANTY)) + if (!empty($conf->global->INVOICE_USE_RETAINED_WARRANTY)) { $retained_warranty = GETPOST('retained_warranty', 'int'); - if(price2num($retained_warranty) > 0) + if (price2num($retained_warranty) > 0) { - $object->retained_warranty = price2num($retained_warranty); + $object->retained_warranty = price2num($retained_warranty); } - if(GETPOST('retained_warranty_fk_cond_reglement', 'int') > 0) + if (GETPOST('retained_warranty_fk_cond_reglement', 'int') > 0) { $object->retained_warranty_fk_cond_reglement = GETPOST('retained_warranty_fk_cond_reglement', 'int'); } @@ -1800,6 +1802,17 @@ if (empty($reshook)) $line->fetch_optionals(); $line->situation_percent = $line->get_prev_progress($object->id); // get good progress including credit note + // The $line->situation_percent has been modified, so we must recalculate all amounts + $tabprice = calcul_price_total($line->qty, $line->subprice, $line->remise_percent, $line->tva_tx, $line->localtax1_tx, $line->localtax2_tx, 0, 'HT', 0, $line->product_type, $mysoc, '', $line->situation_percent); + $line->total_ht = $tabprice[0]; + $line->total_tva = $tabprice[1]; + $line->total_ttc = $tabprice[2]; + $line->total_localtax1 = $tabprice[9]; + $line->total_localtax2 = $tabprice[10]; + $line->multicurrency_total_ht = $tabprice[16]; + $line->multicurrency_total_tva = $tabprice[17]; + $line->multicurrency_total_ttc = $tabprice[18]; + // Si fk_remise_except defini on vérifie si la réduction à déjà été appliquée if ($line->fk_remise_except) { @@ -1844,6 +1857,7 @@ if (empty($reshook)) { $nextSituationInvoice = new Facture($db); $nextSituationInvoice->fetch($id); + // create extrafields with data from create form $extrafields->fetch_name_optionals_label($nextSituationInvoice->table_element); $ret = $extrafields->setOptionalsFromPost(null, $nextSituationInvoice); @@ -2629,10 +2643,10 @@ if (empty($reshook)) $pa_ht = $originLine->pa_ht; $label = $originLine->label; $array_options = $originLine->array_options; - if($object->type == Facture::TYPE_SITUATION){ + if ($object->type == Facture::TYPE_SITUATION) { $situation_percent = 0; } - else{ + else { $situation_percent = 100; } $fk_prev_id = ''; @@ -2770,7 +2784,7 @@ if ($action == 'create') $facturestatic = new Facture($db); $extrafields->fetch_name_optionals_label($facturestatic->table_element); - print load_fiche_titre($langs->trans('NewBill'), '', 'invoicing'); + print load_fiche_titre($langs->trans('NewBill'), '', 'bill'); if ($socid > 0) $res = $soc->fetch($socid); @@ -3393,19 +3407,19 @@ if ($action == 'create') print ''; - if($conf->global->INVOICE_USE_RETAINED_WARRANTY){ + if ($conf->global->INVOICE_USE_RETAINED_WARRANTY) { $rwStyle = 'display:none;'; - if(in_array(GETPOST('type', 'int'), $retainedWarrantyInvoiceAvailableType)){ + if (in_array(GETPOST('type', 'int'), $retainedWarrantyInvoiceAvailableType)) { $rwStyle = ''; } $retained_warranty = GETPOST('retained_warranty', 'int'); - if(empty($retained_warranty)){ - if(!empty($objectsrc->retained_warranty)){ // use previous situation value + if (empty($retained_warranty)) { + if (!empty($objectsrc->retained_warranty)) { // use previous situation value $retained_warranty = $objectsrc->retained_warranty; } } - $retained_warranty_js_default = !empty($retained_warranty)?$retained_warranty:$conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT; + $retained_warranty_js_default = !empty($retained_warranty) ? $retained_warranty : $conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT; print '
    '.$langs->trans('RetainedWarranty').''; print '%'; @@ -3413,11 +3427,11 @@ if ($action == 'create') // Retained warranty payment term print '
    '.$langs->trans('PaymentConditionsShortRetainedWarranty').''; $retained_warranty_fk_cond_reglement = GETPOST('retained_warranty_fk_cond_reglement', 'int'); - if(empty($retained_warranty_fk_cond_reglement)){ + if (empty($retained_warranty_fk_cond_reglement)) { $retained_warranty_fk_cond_reglement = $conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID; - if(!empty($objectsrc->retained_warranty_fk_cond_reglement)){ // use previous situation value + if (!empty($objectsrc->retained_warranty_fk_cond_reglement)) { // use previous situation value $retained_warranty_fk_cond_reglement = $objectsrc->retained_warranty_fk_cond_reglement; - }else{ + } else { $retained_warranty_fk_cond_reglement = $conf->global->INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID; } } @@ -4357,16 +4371,13 @@ elseif ($id > 0 || !empty($ref)) - if(!empty($object->retained_warranty) || !empty($conf->global->INVOICE_USE_RETAINED_WARRANTY)) { - + if (!empty($object->retained_warranty) || !empty($conf->global->INVOICE_USE_RETAINED_WARRANTY)) { $displayWarranty = true; - if(!in_array($object->type, $retainedWarrantyInvoiceAvailableType) && empty($object->retained_warranty)){ + if (!in_array($object->type, $retainedWarrantyInvoiceAvailableType) && empty($object->retained_warranty)) { $displayWarranty = false; } - if($displayWarranty) - { - + if($displayWarranty) { // Retained Warranty print '
    '; print ''; print ''; print ''; - print ''; + print ''; print ''; } } @@ -5049,8 +5060,9 @@ elseif ($id > 0 || !empty($ref)) print '
    '; @@ -4622,7 +4633,7 @@ elseif ($id > 0 || !empty($ref)) $current_situation_counter = array(); foreach ($object->tab_previous_situation_invoice as $prev_invoice) { - $totalpaye_prev = $prev_invoice->getSommePaiement(); + $tmptotalpaidforthisinvoice = $prev_invoice->getSommePaiement(); $total_prev_ht += $prev_invoice->total_ht; $total_prev_ttc += $prev_invoice->total_ttc; $current_situation_counter[] = (($prev_invoice->type == Facture::TYPE_CREDIT_NOTE) ?-1 : 1) * $prev_invoice->situation_counter; @@ -4633,7 +4644,7 @@ elseif ($id > 0 || !empty($ref)) if (!empty($conf->banque->enabled)) print ''.price($prev_invoice->total_ht).''.price($prev_invoice->total_ttc).''.$prev_invoice->getLibStatut(3, $totalpaye_prev).''.$prev_invoice->getLibStatut(3, $tmptotalpaidforthisinvoice).'
    '; // Show object lines - if (!empty($object->lines)) + if (!empty($object->lines)) { $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); + } // Form to add new line if ($object->statut == 0 && $usercancreate && $action != 'valid' && $action != 'editline') @@ -5270,7 +5282,7 @@ elseif ($id > 0 || !empty($ref)) { if (!$objectidnext) { - print ''.$langs->trans("CreateCreditNote").''; + print ''.$langs->trans("CreateCreditNote").''; } } diff --git a/htdocs/compta/facture/class/api_invoices.class.php b/htdocs/compta/facture/class/api_invoices.class.php index 95c6af527b6..85da9cd5c37 100644 --- a/htdocs/compta/facture/class/api_invoices.class.php +++ b/htdocs/compta/facture/class/api_invoices.class.php @@ -502,8 +502,7 @@ class Invoices extends DolibarrApi } $result = $this->invoice->delete_contact($rowid); - - if (!$result) { + if ($result < 0) { throw new RestException(500, 'Error when deleted the contact'); } @@ -600,7 +599,7 @@ class Invoices extends DolibarrApi /** * Delete invoice * - * @param int $id Invoice ID + * @param int $id Invoice ID * @return array */ public function delete($id) @@ -617,7 +616,8 @@ class Invoices extends DolibarrApi throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); } - if ($this->invoice->delete($id) < 0) + $result = $this->invoice->delete(DolibarrApiAccess::$user); + if ($result < 0) { throw new RestException(500); } diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 205ca88290e..71be89f30f5 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -342,7 +342,7 @@ class FactureRec extends CommonInvoice if ($objectline->fetch($result_insert)) { // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($facsrc->lines[$i], 'fetch_optionals')) { + if (method_exists($facsrc->lines[$i], 'fetch_optionals')) { $facsrc->lines[$i]->fetch_optionals($facsrc->lines[$i]->rowid); $objectline->array_options = $facsrc->lines[$i]->array_options; } @@ -438,7 +438,7 @@ class FactureRec extends CommonInvoice $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -748,9 +748,13 @@ class FactureRec extends CommonInvoice $error = 0; $this->db->begin(); + $main = MAIN_DB_PREFIX.'facturedet_rec'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_facture = $rowid)"; + dol_syslog($sqlef); $sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet_rec WHERE fk_facture = ".$rowid; dol_syslog($sql); - if ($this->db->query($sql)) + if ($this->db->query($sqlef) && $this->db->query($sql)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."facture_rec WHERE rowid = ".$rowid; dol_syslog($sql); @@ -759,6 +763,9 @@ class FactureRec extends CommonInvoice // Delete linked object $res = $this->deleteObjectLinked(); if ($res < 0) $error = -3; + // Delete extrafields + $res = $this->deleteExtraFields(); + if ($res < 0) $error = -4; } else { @@ -1966,6 +1973,14 @@ class FactureLigneRec extends CommonInvoiceLine } } + if (!$error) + { + $result = $this->deleteExtraFields(); + if ($result < 0) { + $error++; + } + } + if (!$error) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE rowid='.$this->id; @@ -2112,7 +2127,7 @@ class FactureLigneRec extends CommonInvoiceLine $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index b6f9c4d7969..fd6a6d32642 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -813,12 +813,12 @@ class Facture extends CommonInvoice $vatrate = $line->tva_tx; if ($line->vat_src_code && !preg_match('/\(.*\)/', $vatrate)) $vatrate .= ' ('.$line->vat_src_code.')'; - if(!empty($conf->global->MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION)) { - $originid=$line->origin_id; - $origintype=$line->origin; + if (!empty($conf->global->MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION)) { + $originid = $line->origin_id; + $origintype = $line->origin; } else { - $originid=$line->id; - $origintype=$this->element; + $originid = $line->id; + $origintype = $this->element; } $result = $this->addline( @@ -1177,6 +1177,30 @@ class Facture extends CommonInvoice { unset($object->lines[$i]); unset($object->products[$i]); // Tant que products encore utilise + } + // Bloc to update dates of service (month by month only if previously filled at 1d near start or end of month) + // If it's a service with start and end dates + if (!empty($line->date_start) && !empty($line->date_end) ) { + // Get the dates + $start = dol_getdate($line->date_start); + $end = dol_getdate($line->date_end); + + // Get the first and last day of the month + $first = dol_get_first_day($start['year'], $start['mon']); + $last = dol_get_first_day($end['year'], $end['mon']); + + // Get diff betweend start/end of month and previously filled + $diffFirst = num_between_day($first, dol_mktime($start['hours'], $start['minutes'], $start['seconds'], $start['mon'], $start['mday'], $start['year'], 'user')); + $diffLast = num_between_day(dol_mktime($end['hours'], $end['minutes'], $end['seconds'], $end['mon'], $end['mday'], $end['year'], 'user'), $last); + + // If there is <= 1d (or 2?) of start/or/end of month + if ($diffFirst <= 2 && $diffLast <= 2) { + $nextMonth = dol_get_next_month($end['mon'], $end['year']); + $newFirst = dol_get_first_day($nextMonth['year'], $nextMonth['month']); + $newLast = dol_get_last_day($nextMonth['year'], $nextMonth['month']); + $object->lines[$i]->date_start = $newFirst; + $object->lines[$i]->date_end = $newLast; + } } } @@ -1394,11 +1418,11 @@ class Facture extends CommonInvoice $label = ''; if ($user->rights->facture->lire) { - $label = ''.$langs->trans("ShowInvoice").''; - if ($this->type == self::TYPE_REPLACEMENT) $label = ''.$langs->transnoentitiesnoconv("ShowInvoiceReplace").''; - if ($this->type == self::TYPE_CREDIT_NOTE) $label = ''.$langs->transnoentitiesnoconv("ShowInvoiceAvoir").''; - if ($this->type == self::TYPE_DEPOSIT) $label = ''.$langs->transnoentitiesnoconv("ShowInvoiceDeposit").''; - if ($this->type == self::TYPE_SITUATION) $label = ''.$langs->transnoentitiesnoconv("ShowInvoiceSituation").''; + $label = ''.$langs->trans("Invoice").''; + if ($this->type == self::TYPE_REPLACEMENT) $label = ''.$langs->transnoentitiesnoconv("ReplacementInvoice").''; + if ($this->type == self::TYPE_CREDIT_NOTE) $label = ''.$langs->transnoentitiesnoconv("CreditNote").''; + if ($this->type == self::TYPE_DEPOSIT) $label = ''.$langs->transnoentitiesnoconv("Deposit").''; + if ($this->type == self::TYPE_SITUATION) $label = ''.$langs->transnoentitiesnoconv("InvoiceSituation").''; if (!empty($this->ref)) $label .= '
    '.$langs->trans('Ref').': '.$this->ref; if (!empty($this->ref_client)) @@ -1426,7 +1450,7 @@ class Facture extends CommonInvoice { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowInvoice"); + $label = $langs->trans("Invoice"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; @@ -1452,9 +1476,10 @@ class Facture extends CommonInvoice $txttoshow = ($user->socid > 0 ? $this->note_public : $this->note_private); if ($txttoshow) { - $notetoshow = $langs->trans("ViewPrivateNote").':
    '.dol_string_nohtmltag($txttoshow, 1); + //$notetoshow = $langs->trans("ViewPrivateNote").':
    '.dol_string_nohtmltag($txttoshow, 1); + $notetoshow = $langs->trans("ViewPrivateNote").':
    '.$txttoshow; $result .= ' '; - $result .= ''; + $result .= ''; $result .= img_picto('', 'note'); $result .= ''; //$result.=img_picto($langs->trans("ViewNote"),'object_generic'); @@ -1881,7 +1906,7 @@ class Facture extends CommonInvoice $error++; $this->errors[] = "Error ".$this->db->lasterror(); } - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -2185,13 +2210,16 @@ class Facture extends CommonInvoice } } - + // Invoice line extrafileds + $main = MAIN_DB_PREFIX.'facturedet'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_facture = $rowid)"; // Delete invoice line $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facturedet WHERE fk_facture = '.$rowid; dol_syslog(get_class($this)."::delete", LOG_DEBUG); - if ($this->db->query($sql) && $this->delete_linked_contact()) + if ($this->db->query($sqlef) && $this->db->query($sql) && $this->delete_linked_contact()) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture WHERE rowid = '.$rowid; @@ -3733,44 +3761,44 @@ class Facture extends CommonInvoice } if (!empty($addon)) { - dol_syslog("Call getNextNumRef with " . $addonConstName . " = " . $conf->global->FACTURE_ADDON . ", thirdparty=" . $soc->nom . ", type=" . $soc->typent_code, LOG_DEBUG); + dol_syslog("Call getNextNumRef with ".$addonConstName." = ".$conf->global->FACTURE_ADDON.", thirdparty=".$soc->nom.", type=".$soc->typent_code, LOG_DEBUG); $mybool = false; - $file = $addon . '.php'; + $file = $addon.'.php'; $classname = $addon; // Include file with class $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); foreach ($dirmodels as $reldir) { - $dir = dol_buildpath($reldir . 'core/modules/' . $moduleName . '/'); + $dir = dol_buildpath($reldir.'core/modules/'.$moduleName.'/'); // Load file with numbering class (if found) - if (is_file($dir . $file) && is_readable($dir . $file)) { - $mybool |= include_once $dir . $file; + if (is_file($dir.$file) && is_readable($dir.$file)) { + $mybool |= include_once $dir.$file; } } // For compatibility if (!$mybool) { - $file = $addon . '/' . $addon . '.modules.php'; - $classname = 'mod_' . $moduleName . '_' . $addon; + $file = $addon.'/'.$addon.'.modules.php'; + $classname = 'mod_'.$moduleName.'_'.$addon; $classname = preg_replace('/\-.*$/', '', $classname); // Include file with class foreach ($conf->file->dol_document_root as $dirroot) { - $dir = $dirroot . '/core/modules/' . $moduleName . '/'; + $dir = $dirroot.'/core/modules/'.$moduleName.'/'; // Load file with numbering class (if found) - if (is_file($dir . $file) && is_readable($dir . $file)) { - $mybool |= include_once $dir . $file; + if (is_file($dir.$file) && is_readable($dir.$file)) { + $mybool |= include_once $dir.$file; } } } if (!$mybool) { - dol_print_error('', 'Failed to include file ' . $file); + dol_print_error('', 'Failed to include file '.$file); return ''; } @@ -3789,7 +3817,7 @@ class Facture extends CommonInvoice return $numref; } else { $langs->load('errors'); - print $langs->trans('Error') . ' ' . $langs->trans('ErrorModuleSetupNotComplete', $langs->transnoentitiesnoconv($moduleSourceName)); + print $langs->trans('Error').' '.$langs->trans('ErrorModuleSetupNotComplete', $langs->transnoentitiesnoconv($moduleSourceName)); return ''; } } @@ -4755,7 +4783,7 @@ class Facture extends CommonInvoice // note : we dont need to test INVOICE_USE_RETAINED_WARRANTY because if $this->retained_warranty is not empty it's because it was set when this conf was active $displayWarranty = false; - if(!empty($this->retained_warranty)) { + if (!empty($this->retained_warranty)) { $displayWarranty = true; if ($this->type == Facture::TYPE_SITUATION && !empty($conf->global->INVOICE_RETAINED_WARRANTY_LIMITED_TO_FINAL_SITUATION)) { @@ -4794,7 +4822,7 @@ class Facture extends CommonInvoice $retainedWarrantyAmount = 0; // Billed - retained warranty - if($this->type == Facture::TYPE_SITUATION && !empty($conf->global->INVOICE_RETAINED_WARRANTY_LIMITED_TO_FINAL_SITUATION)) + if ($this->type == Facture::TYPE_SITUATION && !empty($conf->global->INVOICE_RETAINED_WARRANTY_LIMITED_TO_FINAL_SITUATION)) { $displayWarranty = true; // Check if this situation invoice is 100% for real @@ -4834,7 +4862,7 @@ class Facture extends CommonInvoice $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT, $conf->global->MAIN_MAX_DECIMALS_TOT); } - if($rounding>0){ + if ($rounding > 0) { return round($retainedWarrantyAmount, $rounding); } @@ -5237,7 +5265,7 @@ class FactureLigne extends CommonInvoiceLine $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'facturedet'); $this->rowid = $this->id; // For backward compatibility - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -5423,7 +5451,7 @@ class FactureLigne extends CommonInvoiceLine $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $this->id = $this->rowid; $result = $this->insertExtraFields(); @@ -5476,6 +5504,13 @@ class FactureLigne extends CommonInvoiceLine } // End call triggers + // extrafields + $result = $this->deleteExtraFields(); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } $sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet WHERE rowid = ".$this->rowid; dol_syslog(get_class($this)."::delete", LOG_DEBUG); @@ -5568,7 +5603,7 @@ class FactureLigne extends CommonInvoiceLine $sql = 'SELECT fd.situation_percent FROM '.MAIN_DB_PREFIX.'facturedet fd'; $sql .= ' JOIN '.MAIN_DB_PREFIX.'facture f ON (f.rowid = fd.fk_facture) '; $sql .= ' WHERE fd.fk_prev_id ='.$this->fk_prev_id; - $sql .= ' AND f.situation_cycle_ref = '.$tmpinvoice->situation_cycle_ref; // Prevent cycle outed + $sql .= ' AND f.situation_cycle_ref = '.$invoicecache[$invoiceid]->situation_cycle_ref; // Prevent cycle outed $sql .= ' AND f.type = '.Facture::TYPE_CREDIT_NOTE; $res = $this->db->query($sql); @@ -5576,6 +5611,8 @@ class FactureLigne extends CommonInvoiceLine while ($obj = $this->db->fetch_object($res)) { $returnPercent = $returnPercent + floatval($obj->situation_percent); } + } else { + dol_print_error($this->db); } } diff --git a/htdocs/compta/facture/class/facturestats.class.php b/htdocs/compta/facture/class/facturestats.class.php index ea0b17bc59a..6b95c939e2a 100644 --- a/htdocs/compta/facture/class/facturestats.class.php +++ b/htdocs/compta/facture/class/facturestats.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (c) 2005-2013 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,6 +44,7 @@ class FactureStats extends Stats public $from; public $field; public $where; + public $join; /** @@ -52,8 +54,10 @@ class FactureStats extends Stats * @param int $socid Id third party for filter. This value must be forced during the new to external user company if user is an external user. * @param string $mode Option ('customer', 'supplier') * @param int $userid Id user for filter (creation user) + * @param int $typentid Id typent of thirdpary for filter + * @param int $categid Id category of thirdpary for filter */ - public function __construct($db, $socid, $mode, $userid = 0) + public function __construct($db, $socid, $mode, $userid = 0, $typentid = 0, $categid = 0) { global $user, $conf; @@ -61,6 +65,7 @@ class FactureStats extends Stats $this->socid = ($socid > 0 ? $socid : 0); $this->userid = $userid; $this->cachefilesuffix = $mode; + $this->join = ''; if ($mode == 'customer') { @@ -79,6 +84,7 @@ class FactureStats extends Stats $this->field_line = 'total_ht'; } + $this->where = " f.fk_statut >= 0"; $this->where .= " AND f.entity IN (".getEntity('invoice').")"; if (!$user->rights->societe->client->voir && !$this->socid) $this->where .= " AND f.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id; @@ -90,6 +96,19 @@ class FactureStats extends Stats if ($this->userid > 0) $this->where .= ' AND f.fk_user_author = '.$this->userid; if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $this->where .= " AND f.type IN (0,1,2,5)"; else $this->where .= " AND f.type IN (0,1,2,3,5)"; + + if ($typentid) + { + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON s.rowid = f.fk_soc'; + $this->where .= ' AND s.fk_typent = '.$typentid; + } + + if ($categid) + { + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_societe as cs ON cs.fk_soc = f.fk_soc'; + $this->join .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie as c ON c.rowid = cs.fk_categorie'; + $this->where .= ' AND c.rowid = '.$categid; + } } @@ -107,6 +126,7 @@ class FactureStats extends Stats $sql = "SELECT date_format(f.datef,'%m') as dm, COUNT(*) as nb"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE f.datef 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"; @@ -130,6 +150,7 @@ class FactureStats extends Stats $sql = "SELECT date_format(f.datef,'%Y') as dm, COUNT(*), SUM(c.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY dm"; $sql .= $this->db->order('dm', 'DESC'); @@ -152,6 +173,7 @@ class FactureStats extends Stats $sql = "SELECT date_format(datef,'%m') as dm, SUM(f.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE f.datef 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"; @@ -175,6 +197,7 @@ class FactureStats extends Stats $sql = "SELECT date_format(datef,'%m') as dm, AVG(f.".$this->field.")"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE f.datef 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"; @@ -195,6 +218,7 @@ class FactureStats extends Stats $sql = "SELECT date_format(datef,'%Y') as year, COUNT(*) as nb, SUM(f.".$this->field.") as total, AVG(f.".$this->field.") as avg"; $sql .= " FROM ".$this->from; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY year"; $sql .= $this->db->order('year', 'DESC'); @@ -216,6 +240,7 @@ class FactureStats extends Stats $sql = "SELECT product.ref, COUNT(product.ref) as nb, SUM(tl.".$this->field_line.") as total, AVG(tl.".$this->field_line.") as avg"; $sql .= " FROM ".$this->from.", ".$this->from_line.", ".MAIN_DB_PREFIX."product as product"; if (!$user->rights->societe->client->voir && !$this->socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql .= $this->join; $sql .= " WHERE ".$this->where; $sql .= " AND f.rowid = tl.fk_facture AND tl.fk_product = product.rowid"; $sql .= " AND f.datef BETWEEN '".$this->db->idate(dol_get_first_day($year, 1, false))."' AND '".$this->db->idate(dol_get_last_day($year, 12, false))."'"; diff --git a/htdocs/compta/facture/document.php b/htdocs/compta/facture/document.php index e09c8aee11c..a901b985342 100644 --- a/htdocs/compta/facture/document.php +++ b/htdocs/compta/facture/document.php @@ -56,11 +56,12 @@ if ($user->socid) $result = restrictedArea($user, 'facture', $id, ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/compta/facture/invoicetemplate_list.php b/htdocs/compta/facture/invoicetemplate_list.php index 759e9cc3944..65e9044f4f7 100644 --- a/htdocs/compta/facture/invoicetemplate_list.php +++ b/htdocs/compta/facture/invoicetemplate_list.php @@ -328,13 +328,12 @@ if ($resql) print ''; print ''; print ''; - print ''; print ''; print ''; $title = $langs->trans("RepeatableInvoices"); - print_barre_liste($title, $page, $_SERVER['PHP_SELF'], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'invoicing', 0, '', '', $limit); + print_barre_liste($title, $page, $_SERVER['PHP_SELF'], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'bill', 0, '', '', $limit, 0, 0, 1); print ''.$langs->trans("ToCreateAPredefinedInvoice", $langs->transnoentitiesnoconv("ChangeIntoRepeatableInvoice")).'

    '; diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 17f70cab375..8b9e204f17e 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -297,7 +297,15 @@ if (empty($reshook)) include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } -if ($massaction == 'withdrawrequest') +if ($massaction == 'makepayment'){ + $arrayofselected=is_array($toselect)?$toselect:array(); + + $loc = dol_buildpath('/compta/paiement.php', 2).'?action=create&facids='.implode(',', $arrayofselected); + + header('Location: '.$loc); + exit; +} +elseif ($massaction == 'withdrawrequest') { $langs->load("withdrawals"); @@ -657,6 +665,7 @@ if ($resql) 'generate_doc'=>$langs->trans("ReGeneratePDF"), 'builddoc'=>$langs->trans("PDFMerge"), 'presend'=>$langs->trans("SendByMail"), + //'makepayment'=>$langs->trans("InvoicePaymentsLimits"), TODO Blank page when using this ); if ($conf->prelevement->enabled) { $langs->load("withdrawals"); @@ -691,7 +700,7 @@ if ($resql) print ''; print ''; - print_barre_liste($langs->trans('BillsCustomers').' '.($socid ? ' '.$soc->name : ''), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'invoicing', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($langs->trans('BillsCustomers').' '.($socid ? ' '.$soc->name : ''), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bill', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendBillRef"; $modelmail = "facture_send"; @@ -1530,7 +1539,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index 337aea12033..74de1c640d4 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -24,7 +24,7 @@ /** * \file htdocs/compta/facture/prelevement.php * \ingroup facture - * \brief Gestion des prelevement d'une facture + * \brief Management of direct debit order of invoices */ require '../../main.inc.php'; @@ -32,9 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/invoice.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'; -if (!empty($conf->projet->enabled)) { - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; -} +require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; if (!$user->rights->facture->lire) accessforbidden(); diff --git a/htdocs/compta/facture/stats/index.php b/htdocs/compta/facture/stats/index.php index 79257413716..284186b73ce 100644 --- a/htdocs/compta/facture/stats/index.php +++ b/htdocs/compta/facture/stats/index.php @@ -4,6 +4,7 @@ * Copyright (C) 2012 Marcos García * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,19 +28,29 @@ require '../../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; +if(!empty($conf->category->enabled)) require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $WIDTH = DolGraph::getDefaultGraphSizeForStats('width'); $HEIGHT = DolGraph::getDefaultGraphSizeForStats('height'); +// Load translation files required by the page +$langs->loadLangs(array('bills', 'companies', 'other')); + $mode = GETPOST("mode") ?GETPOST("mode") : 'customer'; if ($mode == 'customer' && !$user->rights->facture->lire) accessforbidden(); if ($mode == 'supplier' && !$user->rights->fournisseur->facture->lire) accessforbidden(); $object_status = GETPOST('object_status'); +$typent_id = GETPOST('typent_id', 'int'); +$categ_id = GETPOST('categ_id', 'categ_id'); $userid = GETPOST('userid', 'int'); $socid = GETPOST('socid', 'int'); +$custcats = GETPOST('custcats', 'array'); // Security check if ($user->socid > 0) { @@ -49,40 +60,45 @@ if ($user->socid > 0) $nowyear = strftime("%Y", dol_now()); $year = GETPOST('year') > 0 ?GETPOST('year') : $nowyear; -//$startyear=$year-2; -$startyear = $year - 1; +if(!empty($conf->global->INVOICE_STATS_GRAPHS_SHOW_2_YEARS)) $startyear=$year-2; +else $startyear=$year-1; $endyear = $year; /* * View */ -// Load translation files required by the page -$langs->loadLangs(array('bills', 'companies', 'other')); - +if(!empty($conf->category->enabled)) $langs->load('categories'); $form = new Form($db); +$formcompany = new FormCompany($db); +$formother = new FormOther($db); llxHeader(); -if ($mode == 'customer') -{ - $title = $langs->trans("BillsStatistics"); - $dir = $conf->facture->dir_temp; -} +$picto = 'bill'; +$title = $langs->trans("BillsStatistics"); +$dir = $conf->facture->dir_temp; + if ($mode == 'supplier') { + $picto = 'supplier_invoice'; $title = $langs->trans("BillsStatisticsSuppliers"); $dir = $conf->fournisseur->facture->dir_temp; } -print load_fiche_titre($title, '', 'invoicing'); + +print load_fiche_titre($title, '', $picto); dol_mkdir($dir); -$stats = new FactureStats($db, $socid, $mode, ($userid > 0 ? $userid : 0)); +$stats = new FactureStats($db, $socid, $mode, ($userid > 0 ? $userid : 0), ($typent_id > 0 ? $typent_id : 0), ($categ_id > 0 ? $categ_id : 0)); if ($mode == 'customer') { if ($object_status != '' && $object_status >= 0) $stats->where .= ' AND f.fk_statut IN ('.$db->escape($object_status).')'; + if (is_array($custcats) && !empty($custcats)) { + $stats->from .= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_societe as cat ON (f.fk_soc = cat.fk_soc)'; + $stats->where .= ' AND cat.fk_categorie IN ('.implode(',', $custcats).')'; + } } if ($mode == 'supplier') { @@ -246,6 +262,33 @@ if ($mode == 'customer') $filter = 's.client in (1,2,3)'; if ($mode == 'supplier') $filter = 's.fournisseur = 1'; print $form->selectarray('socid', $companies, $socid, 1, 0, 0, 'style="width: 95%"', 0, 0, 0, '', '', 1); print ''; + +// ThirdParty Type +print '
    '; + +// Category +if (! empty($conf->category->enabled)) { + if ($mode == 'customer') + { + $cat_type = Categorie::TYPE_CUSTOMER; + $cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Customer")); + } + if ($mode == 'supplier') + { + $cat_type = Categorie::TYPE_SUPPLIER; + $cat_label = $langs->trans("Category").' '.lcfirst($langs->trans("Supplier")); + } + print ''; +} + // User print ''; print '
    '.$langs->trans("ThirdPartyType").''; +$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label. +print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent); +if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); +print '
    '.$cat_label.''; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_CUSTOMER, null, 'parent', null, null, 1); + print $form->multiselectarray('custcats', $cate_arbo, GETPOST('custcats', 'array'), null, null, null, null, "90%"); + //print $formother->select_categories($cat_type, $categ_id, 'categ_id', true); + print '
    '.$langs->trans("CreatedBy").''; print $form->select_dolusers($userid, 'userid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); @@ -254,7 +297,7 @@ print '
    '.$langs->trans("Status").''; if ($mode == 'customer') { - $liststatus = array('0'=>$langs->trans("BillStatusDraft"), '1'=>$langs->trans("BillStatusNotPaid"), '2'=>$langs->trans("BillStatusPaid"), '3'=>$langs->trans("BillStatusCanceled")); + $liststatus = array('0'=>$langs->trans("BillStatusDraft"), '1'=>$langs->trans("BillStatusNotPaid"), '2'=>$langs->trans("BillStatusPaid"), '1,2'=>$langs->trans("BillStatusNotPaid").' / '.$langs->trans("BillStatusPaid"), '3'=>$langs->trans("BillStatusCanceled")); print $form->selectarray('object_status', $liststatus, $object_status, 1); } if ($mode == 'supplier') diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 6aa05f1cd7e..00b4987ad66 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -87,7 +87,7 @@ $thirdpartystatic = new Societe($db); llxHeader("", $langs->trans("AccountancyTreasuryArea")); -print load_fiche_titre($langs->trans("AccountancyTreasuryArea"), '', 'invoicing'); +print load_fiche_titre($langs->trans("AccountancyTreasuryArea"), '', 'bill'); print '
    '; @@ -101,7 +101,7 @@ if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is useles $listofsearchfields['search_invoice'] = array('text'=>'CustomerInvoice'); } // Search supplier invoices - if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->lire) { $listofsearchfields['search_supplier_invoice'] = array('text'=>'SupplierInvoice'); } @@ -231,7 +231,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire) /** * Draft suppliers invoices */ -if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) { $sql = "SELECT f.ref, f.rowid, f.total_ht, f.total_tva, f.total_ttc, f.type, f.ref_supplier"; $sql .= ", s.nom as name"; @@ -447,7 +447,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire) // Last modified supplier invoices -if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) { $langs->load("boxes"); $facstatic = new FactureFournisseur($db); @@ -958,7 +958,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire) /* * Unpayed supplier invoices */ -if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) { $facstatic = new FactureFournisseur($db); diff --git a/htdocs/compta/localtax/index.php b/htdocs/compta/localtax/index.php index 7755e4ffd16..a08ac99d6bd 100644 --- a/htdocs/compta/localtax/index.php +++ b/htdocs/compta/localtax/index.php @@ -250,7 +250,7 @@ llxHeader('', $name); //$textprevyear="".img_previous().""; //$textnextyear=" ".img_next().""; -//print load_fiche_titre($langs->transcountry($LT,$mysoc->country_code),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear", 'invoicing'); +//print load_fiche_titre($langs->transcountry($LT,$mysoc->country_code),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear", 'bill'); report_header($name, '', $period, $periodlink, $description, $builddate, $exportlink, array(), $calcmode); //report_header($name,'',$textprevyear.$langs->trans("Year")." ".$year_start.$textnextyear,'',$description,$builddate,$exportlink,array(),$calcmode); diff --git a/htdocs/compta/localtax/list.php b/htdocs/compta/localtax/list.php index 911eb7e88f3..47a0f44be47 100644 --- a/htdocs/compta/localtax/list.php +++ b/htdocs/compta/localtax/list.php @@ -48,7 +48,7 @@ if ($user->rights->tax->charges->creer) $newcardbutton .= dolGetButtonTitle($langs->trans('NewLocalTaxPayment', ($ltt + 1)), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/compta/localtax/card.php?action=create&localTaxType='.$ltt); } -print load_fiche_titre($langs->transcountry($ltt == 2 ? "LT2Payments" : "LT1Payments", $mysoc->country_code), $newcardbutton, 'invoicing'); +print load_fiche_titre($langs->transcountry($ltt == 2 ? "LT2Payments" : "LT1Payments", $mysoc->country_code), $newcardbutton, 'title_accountancy'); $sql = "SELECT rowid, amount, label, f.datev, f.datep"; $sql .= " FROM ".MAIN_DB_PREFIX."localtax as f "; diff --git a/htdocs/compta/paiement/class/cpaiement.class.php b/htdocs/compta/paiement/class/cpaiement.class.php index 5b66dbec15e..d1cd1f0015b 100644 --- a/htdocs/compta/paiement/class/cpaiement.class.php +++ b/htdocs/compta/paiement/class/cpaiement.class.php @@ -185,7 +185,7 @@ class Cpaiement $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; if (null !== $ref) { $sql .= ' WHERE t.entity IN ('.getEntity('c_paiement').')'; - $sql .= ' AND t.code = '.'\''.$ref.'\''; + $sql .= " AND t.code = '".$this->db->escape($ref)."'"; } else { $sql .= ' WHERE t.id = '.$id; } diff --git a/htdocs/compta/paiement/list.php b/htdocs/compta/paiement/list.php index 3cb06396c80..20401d81a1a 100644 --- a/htdocs/compta/paiement/list.php +++ b/htdocs/compta/paiement/list.php @@ -215,10 +215,9 @@ if ($resql) print ''; print ''; print ''; - print ''; print ''; - print_barre_liste($langs->trans("ReceivedCustomersPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'invoicing', 0, '', '', $limit); + print_barre_liste($langs->trans("ReceivedCustomersPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'bill', 0, '', '', $limit, 0, 0, 1); print '
    '; print ''."\n"; diff --git a/htdocs/compta/paiement/rapport.php b/htdocs/compta/paiement/rapport.php index 2fb87440d78..76a1ce72d76 100644 --- a/htdocs/compta/paiement/rapport.php +++ b/htdocs/compta/paiement/rapport.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2006 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,6 +27,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/modules/rapport/pdf_paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; // Security check @@ -84,11 +86,12 @@ if ($action == 'builddoc') */ $formother = new FormOther($db); +$formfile = new FormFile($db); llxHeader(); $titre = ($year ? $langs->trans("PaymentsReportsForYear", $year) : $langs->trans("PaymentsReports")); -print load_fiche_titre($titre, '', 'invoicing'); +print load_fiche_titre($titre, '', 'bill'); // Formulaire de generation print ''; @@ -154,9 +157,11 @@ if ($year) { $tfile = $dir.'/'.$year.'/'.$file; $relativepath = $year.'/'.$file; - print ''.''; + print ''; + print ''; print ''; - print ''; + print ''; + print ''; } } closedir($handle); diff --git a/htdocs/compta/prelevement/bons.php b/htdocs/compta/prelevement/bons.php index 935b57e0faa..c7c717e702b 100644 --- a/htdocs/compta/prelevement/bons.php +++ b/htdocs/compta/prelevement/bons.php @@ -31,12 +31,14 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // Load translation files required by the page $langs->loadLangs(array('banks', 'categories', 'widthdrawals')); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'myobjectlist'; // To manage different context of search + // Security check $socid = GETPOST('socid', 'int'); if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'prelevement', '', '', 'bons'); -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); @@ -52,7 +54,8 @@ $statut = GETPOST('statut', 'int'); $search_ref = GETPOST('search_ref', 'alpha'); $search_amount = GETPOST('search_amount', 'alpha'); -$bon = new BonPrelevement($db, ""); +$bon = new BonPrelevement($db); +$hookmanager->initHooks(array('withdrawalsreceiptslist')); /* @@ -101,7 +104,10 @@ if ($result) $num = $db->num_rows($result); $i = 0; - $urladd = "&statut=".$statut; + $param = ''; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); + $param .= "&statut=".urlencode($statut); $selectedfields = ''; @@ -119,10 +125,9 @@ if ($result) print ''; print ''; print ''; - print ''; print ''; - print_barre_liste($langs->trans("WithdrawalsReceipts"), $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'generic', 0, $newcardbutton, '', $limit); + print_barre_liste($langs->trans("WithdrawalsReceipts"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'generic', 0, $newcardbutton, '', $limit, 0, 0, 1); $moreforfilter = ''; @@ -141,11 +146,11 @@ if ($result) print ''; print ''; - print_liste_field_titre("WithdrawalsReceipts", $_SERVER["PHP_SELF"], "p.ref", '', '', 'class="liste_titre"', $sortfield, $sortorder); - print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "p.datec", "", "", 'class="liste_titre" align="center"', $sortfield, $sortorder); - print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "p.amount", "", "", 'class="right"', $sortfield, $sortorder); - print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "", "", "", 'class="right"', $sortfield, $sortorder); - print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ')."\n"; + print_liste_field_titre("WithdrawalsReceipts", $_SERVER["PHP_SELF"], "p.ref", '', $param, '', $sortfield, $sortorder); + print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center '); + print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "p.amount", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right '); + print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'maxwidthsearch center ')."\n"; print "\n"; $directdebitorder = new BonPrelevement($db); diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php index 68f40999aa7..4dcd9f33388 100644 --- a/htdocs/compta/prelevement/card.php +++ b/htdocs/compta/prelevement/card.php @@ -58,7 +58,7 @@ $pagenext = $page + 1; if (!$sortfield) $sortfield = 'pl.fk_soc'; if (!$sortorder) $sortorder = 'DESC'; -$object = new BonPrelevement($db, ""); +$object = new BonPrelevement($db); // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals @@ -321,7 +321,7 @@ if ($id > 0 || $ref) } - $ligne = new LignePrelevement($db, $user); + $ligne = new LignePrelevement($db); /* * Lines into withdraw request diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index df1ecf094ca..0c21a3e6d2b 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -83,18 +83,16 @@ class BonPrelevement extends CommonObject * Constructor * * @param DoliDB $db Database handler - * @param string $filename Filename of withdraw receipt */ - public function __construct($db, $filename = '') + public function __construct($db) { global $conf, $langs; - $error = 0; $this->db = $db; - $this->filename = $filename; + $this->filename = ''; - $this->date_echeance = time(); + $this->date_echeance = dol_now(); $this->raison_sociale = ""; $this->reference_remise = ""; @@ -892,7 +890,7 @@ class BonPrelevement extends CommonObject if ($bac->verif() >= 1) { $factures_prev[$i] = $fac; - /* second tableau necessaire pour BonPrelevement */ + /* second array necessary for BonPrelevement */ $factures_prev_id[$i] = $fac[0]; $i++; //dol_syslog(__METHOD__."::RIB is ok", LOG_DEBUG); @@ -1229,6 +1227,9 @@ class BonPrelevement extends CommonObject $label = ''.$langs->trans("ShowWithdraw").''; $label .= '
    '; $label .= ''.$langs->trans('Ref').': '.$this->ref; + if (isset($this->statut)) { + $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); + } $url = DOL_URL_ROOT.'/compta/prelevement/card.php?id='.$this->id; diff --git a/htdocs/compta/prelevement/class/ligneprelevement.class.php b/htdocs/compta/prelevement/class/ligneprelevement.class.php index dd24ad9522c..88b612554df 100644 --- a/htdocs/compta/prelevement/class/ligneprelevement.class.php +++ b/htdocs/compta/prelevement/class/ligneprelevement.class.php @@ -48,14 +48,12 @@ class LignePrelevement * Constructor * * @param DoliDb $db Database handler - * @param User $user Objet user */ - public function __construct($db, $user) + public function __construct($db) { global $conf, $langs; $this->db = $db; - $this->user = $user; // List of language codes for status diff --git a/htdocs/compta/prelevement/class/rejetprelevement.class.php b/htdocs/compta/prelevement/class/rejetprelevement.class.php index 74626baed13..8c033353637 100644 --- a/htdocs/compta/prelevement/class/rejetprelevement.class.php +++ b/htdocs/compta/prelevement/class/rejetprelevement.class.php @@ -247,6 +247,7 @@ class RejetPrelevement $sendto = $emuser->getFullName($langs)." <".$emuser->email.">"; $from = $this->user->getFullName($langs)." <".$this->user->email.">"; $msgishtml = 1; + $trackid = 'use'.$emuser->id; $arr_file = array(); $arr_mime = array(); @@ -258,7 +259,7 @@ class RejetPrelevement $message = $langs->trans("InfoRejectMessage", $facref, $socname, $amount, $userinfo); - $mailfile = new CMailFile($subject, $sendto, $from, $message, $arr_file, $arr_mime, $arr_name, '', '', 0, $msgishtml, $this->user->email); + $mailfile = new CMailFile($subject, $sendto, $from, $message, $arr_file, $arr_mime, $arr_name, '', '', 0, $msgishtml, $this->user->email, '', $trackid); $result = $mailfile->sendfile(); if ($result) diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index 45c413efb76..5306b6799b9 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -252,7 +252,7 @@ if ($resql) print ''; } - print_barre_liste($langs->trans("InvoiceWaitingWithdraw"), $page, $_SERVER['PHP_SELF'], $param, '', '', '', $num, $nbtotalofrecords, 'invoicing', 0, '', '', $limit); + print_barre_liste($langs->trans("InvoiceWaitingWithdraw"), $page, $_SERVER['PHP_SELF'], $param, '', '', '', $num, $nbtotalofrecords, 'bill', 0, '', '', $limit); print '
    '.img_pdf().' '.$file.'
    '.img_pdf().' '.$file.''.$formfile->showPreview($file, 'facture_paiement', $relativepath, 0).''.dol_print_size(dol_filesize($tfile)).''.dol_print_date(dol_filemtime($tfile), "dayhour").'
    '.dol_print_date(dol_filemtime($tfile), "dayhour").'
    '; print ''; diff --git a/htdocs/compta/prelevement/factures.php b/htdocs/compta/prelevement/factures.php index ec004717946..fb0a5548426 100644 --- a/htdocs/compta/prelevement/factures.php +++ b/htdocs/compta/prelevement/factures.php @@ -53,7 +53,7 @@ $pagenext = $page + 1; if (!$sortfield) $sortfield = 'p.ref'; if (!$sortorder) $sortorder = 'DESC'; -$object = new BonPrelevement($db, ""); +$object = new BonPrelevement($db); diff --git a/htdocs/compta/prelevement/fiche-rejet.php b/htdocs/compta/prelevement/fiche-rejet.php index 44be3d1cd01..1cc454a3d4d 100644 --- a/htdocs/compta/prelevement/fiche-rejet.php +++ b/htdocs/compta/prelevement/fiche-rejet.php @@ -51,7 +51,7 @@ $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -$object = new BonPrelevement($db, ""); +$object = new BonPrelevement($db); diff --git a/htdocs/compta/prelevement/fiche-stat.php b/htdocs/compta/prelevement/fiche-stat.php index 6e8e8390ae8..18028e2059a 100644 --- a/htdocs/compta/prelevement/fiche-stat.php +++ b/htdocs/compta/prelevement/fiche-stat.php @@ -50,7 +50,7 @@ $pageprev = $page - 1; $pagenext = $page + 1; -$object = new BonPrelevement($db, ""); +$object = new BonPrelevement($db); /* @@ -142,7 +142,7 @@ if ($prev_id > 0 || $ref) /* * Stats */ - $ligne = new LignePrelevement($db, $user); + $ligne = new LignePrelevement($db); $sql = "SELECT sum(pl.amount), pl.statut"; $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; diff --git a/htdocs/compta/prelevement/line.php b/htdocs/compta/prelevement/line.php index 19ba5892474..29bb5c435e3 100644 --- a/htdocs/compta/prelevement/line.php +++ b/htdocs/compta/prelevement/line.php @@ -43,9 +43,22 @@ $action = GETPOST('action', 'alpha'); $id = GETPOST('id', 'int'); $socid = GETPOST('socid', 'int'); -$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortorder = GETPOST('sortorder', 'alpha'); $sortfield = GETPOST('sortfield', 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if ($page == -1 || $page == null) { $page = 0; } +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +if ($sortorder == "") $sortorder = "DESC"; +if ($sortfield == "") $sortfield = "pl.fk_soc"; + + +/* + * Actions + */ if ($action == 'confirm_rejet') { @@ -77,7 +90,7 @@ if ($action == 'confirm_rejet') if (!$error) { - $lipre = new LignePrelevement($db, $user); + $lipre = new LignePrelevement($db); if ($lipre->fetch($id) == 0) @@ -119,7 +132,7 @@ $h++; if ($id) { - $lipre = new LignePrelevement($db, $user); + $lipre = new LignePrelevement($db); if ($lipre->fetch($id) == 0) { @@ -246,17 +259,6 @@ if ($id) print ""; - - - if ($page == -1 || $page == null) { $page = 0; } - - $offset = $conf->liste_limit * $page; - $pageprev = $page - 1; - $pagenext = $page + 1; - - if ($sortorder == "") $sortorder = "DESC"; - if ($sortfield == "") $sortfield = "pl.fk_soc"; - /* * List of invoices */ diff --git a/htdocs/compta/prelevement/list.php b/htdocs/compta/prelevement/list.php index bbac6c6232e..48f9bcc7c54 100644 --- a/htdocs/compta/prelevement/list.php +++ b/htdocs/compta/prelevement/list.php @@ -32,12 +32,21 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // Load translation files required by the page $langs->loadLangs(array('banks', 'withdrawals', 'companies', 'categories')); +$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) +$show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? +$confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation +$cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button +$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'myobjectlist'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + // Security check $socid = GETPOST('socid', 'int'); if ($user->socid) $socid=$user->socid; $result = restrictedArea($user, 'prelevement', '', '', 'bons'); - $limit = GETPOST('limit', 'int')?GETPOST('limit', 'int'):$conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); @@ -55,8 +64,11 @@ $search_code = GETPOST('search_code', 'alpha'); $search_company = GETPOST('search_company', 'alpha'); $statut = GETPOST('statut', 'int'); -$bon = new BonPrelevement($db, ""); -$ligne = new LignePrelevement($db, $user); +$bon = new BonPrelevement($db); +$line = new LignePrelevement($db); +$company = new Societe($db); + +$hookmanager->initHooks(array('withdrawalsreceiptslineslist')); /* @@ -81,9 +93,9 @@ $form = new Form($db); llxHeader('', $langs->trans("WithdrawalsLines")); -$sql = "SELECT p.rowid, p.ref, p.statut, p.datec"; -$sql .= " ,f.rowid as facid, f.ref, f.total_ttc"; -$sql .= " , s.rowid as socid, s.nom as name, s.code_client"; +$sql = "SELECT p.rowid, p.ref, p.statut as status, p.datec"; +$sql .= " ,f.rowid as facid, f.ref as invoiceref, f.total_ttc"; +$sql .= " , s.rowid as socid, s.nom as name, s.code_client, s.email"; $sql .= " , pl.amount, pl.statut as statut_ligne, pl.rowid as rowid_ligne"; $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; @@ -124,14 +136,21 @@ if ($result) $num = $db->num_rows($result); $i = 0; - $urladd = "&statut=".$statut; - $urladd .= "&search_bon=".$search_bon; - if ($limit > 0 && $limit != $conf->liste_limit) $urladd .= '&limit='.urlencode($limit); + $param = "&statut=".urlencode($statut); + $param .= "&search_bon=".urlencode($search_bon); + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); print"\n\n"; - print ''; + print ''."\n"; + if ($optioncss != '') print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; - print_barre_liste($langs->trans("WithdrawalsLines"), $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'generic', 0, '', '', $limit); + print_barre_liste($langs->trans("WithdrawalsLines"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'generic', 0, '', '', $limit, 0, 0, 1); $moreforfilter = ''; @@ -153,13 +172,13 @@ if ($result) print ''; print ''; - print_liste_field_titre("Line", $_SERVER["PHP_SELF"]); - print_liste_field_titre("WithdrawalsReceipts", $_SERVER["PHP_SELF"], "p.ref"); - print_liste_field_titre("Bill", $_SERVER["PHP_SELF"], "f.ref", '', $urladd); - print_liste_field_titre("Company", $_SERVER["PHP_SELF"], "s.nom"); - print_liste_field_titre("CustomerCode", $_SERVER["PHP_SELF"], "s.code_client", '', '', 'align="center"'); - print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "p.datec", "", "", 'align="center"'); - print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "pl.amount", "", "", 'class="right"'); + print_liste_field_titre("Line", $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder); + print_liste_field_titre("WithdrawalsReceipts", $_SERVER["PHP_SELF"], "p.ref", '', $param, '', $sortfield, $sortorder); + print_liste_field_titre("Bill", $_SERVER["PHP_SELF"], "f.ref", '', $param, '', $sortfield, $sortorder); + print_liste_field_titre("Company", $_SERVER["PHP_SELF"], "s.nom", '', $param, '', $sortfield, $sortorder); + print_liste_field_titre("CustomerCode", $_SERVER["PHP_SELF"], "s.code_client", '', $param, '', $sortfield, $sortorder, 'center '); + print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center '); + print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "pl.amount", "", $param, '', $sortfield, $sortorder, 'right '); print_liste_field_titre(''); print "\n"; @@ -167,28 +186,37 @@ if ($result) { $obj = $db->fetch_object($result); - print ''; + + print ''; print '\n"; - print $bon->LibStatut($obj->statut, 2); - print " "; - - print ''.$obj->ref."\n"; - - print '\n"; - print ''; + print ' '.$obj->invoiceref."\n"; + print ''; + print ''; - print '\n"; + print '\n"; print '\n"; diff --git a/htdocs/compta/prelevement/rejets.php b/htdocs/compta/prelevement/rejets.php index 1bc2a1844e2..6d1994b7a4b 100644 --- a/htdocs/compta/prelevement/rejets.php +++ b/htdocs/compta/prelevement/rejets.php @@ -39,25 +39,28 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'prelevement', '', '', 'bons'); // Get supervariables -$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortorder = GETPOST('sortorder', 'alpha'); $sortfield = GETPOST('sortfield', 'alpha'); - +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; /* * View */ llxHeader('', $langs->trans("WithdrawsRefused")); -$offset = $conf->liste_limit * $page; -$pageprev = $page - 1; -$pagenext = $page + 1; - if ($sortorder == "") $sortorder = "DESC"; if ($sortfield == "") $sortfield = "p.datec"; $rej = new RejetPrelevement($db, $user); -$ligne = new LignePrelevement($db, $user); +$line = new LignePrelevement($db); + +$hookmanager->initHooks(array('withdrawalsreceiptsrejectedlist')); + /* * Liste des factures @@ -85,7 +88,7 @@ if ($result) print_barre_liste($langs->trans("WithdrawsRefused"), $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num); print"\n\n"; - print '
    '; + $bon->ref = $obj->ref; + $bon->statut = $obj->status; - print $ligne->LibStatut($obj->statut_ligne, 2); + $company->id = $obj->socid; + $company->name = $obj->name; + $company->email = $obj->email; + $company->code_client = $obj->code_client; + + print '
    '; + print $line->LibStatut($obj->statut_ligne, 2); print " "; - print ''; print substr('000000'.$obj->rowid_ligne, -6); print ''; + print $bon->getNomUrl(1); + print "'; + print ''; + print ''; print img_object($langs->trans("ShowBill"), "bill"); - print ' '.$obj->ref."'.$obj->name."'; + print $company->getNomUrl(1); + print "'.$obj->code_client."
    '; + print '
    '; print ''; print_liste_field_titre("Line", $_SERVER["PHP_SELF"], "p.ref", '', $urladd); print_liste_field_titre("ThirdParty", $_SERVER["PHP_SELF"], "s.nom", '', $urladd); @@ -99,7 +102,7 @@ if ($result) $obj = $db->fetch_object($result); print '"; diff --git a/htdocs/compta/prelevement/stats.php b/htdocs/compta/prelevement/stats.php index c19603df967..c6d1962ff46 100644 --- a/htdocs/compta/prelevement/stats.php +++ b/htdocs/compta/prelevement/stats.php @@ -73,7 +73,7 @@ if ($resql) print '
    '; print load_fiche_titre($langs->trans("WithdrawStatistics"), '', ''); -$ligne = new LignePrelevement($db, $user); +$ligne = new LignePrelevement($db); $sql = "SELECT sum(pl.amount), count(pl.amount), pl.statut"; $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index 17d2becfc19..27bc4526a3e 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -8,6 +8,7 @@ * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Florian Henry * Copyright (C) 2018 Frédéric France + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -38,7 +39,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountancycategory.class.php'; // Load translation files required by the page -$langs->loadLangs(array('compta', 'bills', 'donation', 'salaries', 'accountancy')); +$langs->loadLangs(array('compta', 'bills', 'donation', 'salaries', 'accountancy', 'loan')); $date_startmonth = GETPOST('date_startmonth', 'int'); $date_startday = GETPOST('date_startday', 'int'); @@ -227,17 +228,15 @@ print "\n"; if ($modecompta == 'BOOKKEEPING') { $predefinedgroupwhere = "("; - //$predefinedgroupwhere.= " (pcg_type = 'EXPENSE' and pcg_subtype in ('PRODUCT','SERVICE'))"; $predefinedgroupwhere .= " (pcg_type = 'EXPENSE')"; $predefinedgroupwhere .= " OR "; - //$predefinedgroupwhere.= " (pcg_type = 'INCOME' and pcg_subtype in ('PRODUCT','SERVICE'))"; $predefinedgroupwhere .= " (pcg_type = 'INCOME')"; $predefinedgroupwhere .= ")"; $charofaccountstring = $conf->global->CHARTOFACCOUNTS; $charofaccountstring = dol_getIdFromCode($db, $conf->global->CHARTOFACCOUNTS, 'accounting_system', 'rowid', 'pcg_version'); - $sql = "SELECT f.thirdparty_code as name, -1 as socid, aa.pcg_type, aa.pcg_subtype, sum(f.credit - f.debit) as amount"; + $sql = "SELECT f.thirdparty_code as name, -1 as socid, aa.pcg_type, SUM(f.credit - f.debit) as amount"; $sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as f"; $sql .= ", ".MAIN_DB_PREFIX."accounting_account as aa"; $sql .= " WHERE f.numero_compte = aa.account_number"; @@ -271,7 +270,7 @@ if ($modecompta == 'BOOKKEEPING') print ''; print ''; - print '\n"; + print '\n"; print '\n"; print "\n"; @@ -282,7 +281,7 @@ if ($modecompta == 'BOOKKEEPING') // This make 14 calls for each detail of account (NP, N and month m) if ($showaccountdetail != 'no') { - $tmppredefinedgroupwhere = "pcg_type = '".$db->escape($objp->pcg_type)."' AND pcg_subtype = '".$db->escape($objp->pcg_subtype)."'"; + $tmppredefinedgroupwhere = "pcg_type = '".$db->escape($objp->pcg_type)."'"; $tmppredefinedgroupwhere .= " AND fk_pcg_version = '".$db->escape($charofaccountstring)."'"; //$tmppredefinedgroupwhere.= " AND thirdparty_code = '".$db->escape($objp->name)."'"; @@ -955,6 +954,115 @@ else print ''; } + /* + * Various Payments + */ + + if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_VARPAY) && !empty($conf->banque->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) + { + $subtotal_ht = 0; + $subtotal_ttc = 0; + + print ''; + + // Debit + $sql = "SELECT SUM(p.amount) AS amount FROM ".MAIN_DB_PREFIX."payment_various as p"; + $sql .= ' WHERE 1 = 1'; + if (!empty($date_start) && !empty($date_end)) + $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; + $sql .= ' GROUP BY p.sens'; + $sql .= ' ORDER BY p.sens'; + + dol_syslog('get various payments', LOG_DEBUG); + $result = $db->query($sql); + if ($result) + { + // Debit + $obj = $db->fetch_object($result); + if (isset($obj->amount)) + { + $subtotal_ht += -$obj->amount; + $subtotal_ttc += -$obj->amount; + } + print ''; + print "\n"; + if ($modecompta == 'CREANCES-DETTES') print ''; + print '\n"; + print "\n"; + + // Credit + $obj = $db->fetch_object($result); + if (isset($obj->amount)) + { + $subtotal_ht += $obj->amount; + $subtotal_ttc += $obj->amount; + } + print ''; + print "\n"; + if ($modecompta == 'CREANCES-DETTES') print ''; + print '\n"; + print "\n"; + + // Total + $total_ht += $subtotal_ht; + $total_ttc += $subtotal_ttc; + print ''; + if ($modecompta == 'CREANCES-DETTES') + print ''; + print ''; + print ''; + } + else dol_print_error($db); + } + + /* + * Payement Loan + */ + + if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_LOAN) && !empty($conf->loan->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) + { + $subtotal_ht = 0; + $subtotal_ttc = 0; + + print ''; + + $sql = 'SELECT l.rowid as id, l.label AS label, SUM(p.amount_capital + p.amount_insurance + p.amount_interest) as amount FROM '.MAIN_DB_PREFIX.'payment_loan as p'; + $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'loan AS l ON l.rowid = p.fk_loan'; + $sql .= ' WHERE 1 = 1'; + if (!empty($date_start) && !empty($date_end)) + $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; + $sql .= ' GROUP BY p.fk_loan'; + $sql .= ' ORDER BY p.fk_loan'; + + dol_syslog('get loan payments', LOG_DEBUG); + $result = $db->query($sql); + if ($result) + { + require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; + $loan_static = new Loan($db); + while ($obj = $db->fetch_object($result)) + { + $loan_static->id = $obj->id; + $loan_static->ref = $obj->id; + $loan_static->label = $obj->label; + print ''; + print "\n"; + if ($modecompta == 'CREANCES-DETTES') print ''; + print '\n"; + print "\n"; + $subtotal_ht -= $obj->amount; + $subtotal_ttc -= $obj->amount; + } + $total_ht += $subtotal_ht; + $total_ttc += $subtotal_ttc; + print ''; + if ($modecompta == 'CREANCES-DETTES') + print ''; + print ''; + print ''; + } + else dol_print_error($db); + } /* * VAT diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index d462007d273..ad81a3943c1 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -6,6 +6,7 @@ * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Florian Henry * Copyright (C) 2018 Frédéric France + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -794,6 +795,113 @@ elseif ($modecompta == 'BOOKKEEPING') { // Nothing from this table } +/* + * Various Payments + */ + +if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_VARPAY) && !empty($conf->banque->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) +{ + // decaiss + + $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount) AS amount FROM ".MAIN_DB_PREFIX."payment_various as p"; + $sql .= ' WHERE p.sens = 0'; + if (!empty($date_start) && !empty($date_end)) + $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; + $sql .= ' GROUP BY dm'; + + dol_syslog("get various payments"); + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + if ($num) + { + while ($i < $num) + { + $obj = $db->fetch_object($result); + if (!isset($decaiss_ttc[$obj->dm])) $decaiss_ttc[$obj->dm] = 0; + if (isset($obj->amount)) $decaiss_ttc[$obj->dm] += $obj->amount; + $i++; + } + } + } + else + { + dol_print_error($db); + } + + // encaiss + + $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount) AS amount FROM ".MAIN_DB_PREFIX."payment_various AS p"; + $sql .= ' WHERE p.sens = 1'; + if (!empty($date_start) && !empty($date_end)) + $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; + $sql .= ' GROUP BY dm'; + + dol_syslog("get various payments"); + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + if ($num) + { + while ($i < $num) + { + $obj = $db->fetch_object($result); + if (!isset($encaiss_ttc[$obj->dm])) $encaiss_ttc[$obj->dm] = 0; + if (isset($obj->amount)) $encaiss_ttc[$obj->dm] += $obj->amount; + $i++; + } + } + } + else + { + dol_print_error($db); + } +} +// Useless with BOOKKEEPING +//elseif ($modecompta == 'BOOKKEEPING') { +//} + +/* + * Payement Loan + */ + +if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_LOAN) && !empty($conf->loan->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) +{ + $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount_capital + p.amount_insurance + p.amount_interest) AS amount FROM ".MAIN_DB_PREFIX."payment_loan AS p"; + $sql .= ' WHERE 1 = 1'; + if (!empty($date_start) && !empty($date_end)) + $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; + $sql .= ' GROUP BY dm'; + + dol_syslog("get loan payments"); + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + if ($num) + { + while ($i < $num) + { + $obj = $db->fetch_object($result); + if (!isset($decaiss_ttc[$obj->dm])) $decaiss_ttc[$obj->dm] = 0; + if (isset($obj->amount)) $decaiss_ttc[$obj->dm] += $obj->amount; + $i++; + } + } + } + else + { + dol_print_error($db); + } +} +// Useless with BOOKKEEPING +//elseif ($modecompta == 'BOOKKEEPING') { +//} /* diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index f6ff04ebe54..6d3f4dffa4a 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -556,7 +556,7 @@ class ChargeSociales extends CommonObject if (empty($this->ref)) $this->ref = $this->label; - $label = ''.$langs->trans("ShowSocialContribution").''; + $label = ''.$langs->trans("SocialContribution").''; if (!empty($this->ref)) $label .= '
    '.$langs->trans('Ref').': '.$this->ref; if (!empty($this->label)) @@ -569,7 +569,7 @@ class ChargeSociales extends CommonObject { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowSocialContribution"); + $label = $langs->trans("SocialContribution"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; diff --git a/htdocs/compta/sociales/document.php b/htdocs/compta/sociales/document.php index a64c0432be9..3c73c8e6614 100644 --- a/htdocs/compta/sociales/document.php +++ b/htdocs/compta/sociales/document.php @@ -52,13 +52,14 @@ $result = restrictedArea($user, 'tax', $id, 'chargesociales', 'charges'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/compta/sociales/list.php b/htdocs/compta/sociales/list.php index 9cfec1868fa..9d210c23d85 100644 --- a/htdocs/compta/sociales/list.php +++ b/htdocs/compta/sociales/list.php @@ -191,19 +191,16 @@ if ($resql) print ''; print ''; print ''; - print ''; print ''; + $center = ''; if ($year) { $center = ($year ? "".img_previous()." ".$langs->trans("Year")." $year ".img_next()."" : ""); - print_barre_liste($langs->trans("SocialContributions"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'invoicing', 0, $newcardbutton, '', $limit); - } - else - { - print_barre_liste($langs->trans("SocialContributions"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'invoicing', 0, $newcardbutton, '', $limit); } + print_barre_liste($langs->trans("SocialContributions"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'bill', 0, $newcardbutton, '', $limit, 0, 0, 1); + if (empty($mysoc->country_id) && empty($mysoc->country_code)) { print '
    '; diff --git a/htdocs/compta/stats/cabyuser.php b/htdocs/compta/stats/cabyuser.php index 9a4ce5b0427..4d4f56a1354 100644 --- a/htdocs/compta/stats/cabyuser.php +++ b/htdocs/compta/stats/cabyuser.php @@ -462,7 +462,7 @@ if (count($amount)) { print '
    '; print ''; if ($modecompta != 'CREANCES-DETTES') { - print ''; + print ''; } else { print ''; } diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php index c563d8c5ae6..bec20998cfa 100644 --- a/htdocs/compta/stats/casoc.php +++ b/htdocs/compta/stats/casoc.php @@ -625,7 +625,7 @@ if (count($amount)) { print ''; print ''; if ($modecompta != 'CREANCES-DETTES') { - print ''; + print ''; } else { print ''; } diff --git a/htdocs/compta/stats/supplier_turnover_by_thirdparty.php b/htdocs/compta/stats/supplier_turnover_by_thirdparty.php index a9cdef94711..fcae12f744b 100644 --- a/htdocs/compta/stats/supplier_turnover_by_thirdparty.php +++ b/htdocs/compta/stats/supplier_turnover_by_thirdparty.php @@ -574,7 +574,7 @@ if (count($amount)) { print ''; print ''; if ($modecompta != 'CREANCES-DETTES') { - print ''; + print ''; } else { print ''; } diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php index 0bce99df2ff..bcedba7a074 100644 --- a/htdocs/compta/tva/clients.php +++ b/htdocs/compta/tva/clients.php @@ -191,15 +191,15 @@ if (!empty($conf->global->MAIN_MODULE_ACCOUNTING)) $description .= '
    '.$langs $description .= ($description ? '
    ' : '').$fsearch; if (!empty($conf->global->TAX_REPORT_EXTRA_REPORT)) { - $description .= '
    ' - . ' ' - . $langs->trans('SimpleReport') - . '' - . '
    ' - . ' ' - . $langs->trans('AddExtraReport') - . '' - . '
    '; + $description .= '
    '; + $description .= ' '; + $description .= $langs->trans('SimpleReport'); + $description .= ''; + $description .= '
    '; + $description .= ' '; + $description .= $langs->trans('AddExtraReport'); + $description .= ''; + $description .= '
    '; } $elementcust = $langs->trans("CustomersInvoices"); diff --git a/htdocs/compta/tva/document.php b/htdocs/compta/tva/document.php index 037e6baa5c3..fabaf1ee705 100644 --- a/htdocs/compta/tva/document.php +++ b/htdocs/compta/tva/document.php @@ -53,14 +53,14 @@ $result = restrictedArea($user, 'tax', '', 'vat', 'charges'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } - -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index 43463c34e56..0a785aa78cd 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -255,7 +255,7 @@ llxHeader('', $name); //$textprevyear="".img_previous($langs->trans("Previous"), 'class="valignbottom"').""; //$textnextyear=" ".img_next($langs->trans("Next"), 'class="valignbottom"').""; -//print load_fiche_titre($langs->transcountry("VAT", $mysoc->country_code), $textprevyear." ".$langs->trans("Year")." ".$year_start." ".$textnextyear, 'invoicing'); +//print load_fiche_titre($langs->transcountry("VAT", $mysoc->country_code), $textprevyear." ".$langs->trans("Year")." ".$year_start." ".$textnextyear, 'bill'); report_header($name, '', $period, $periodlink, $description, $builddate, $exportlink, array(), $calcmode); //report_header($name,'',$textprevyear.$langs->trans("Year")." ".$year_start.$textnextyear,'',$description,$builddate,$exportlink,array(),$calcmode); diff --git a/htdocs/compta/tva/list.php b/htdocs/compta/tva/list.php index 35c5dc2c052..003a7eabcad 100644 --- a/htdocs/compta/tva/list.php +++ b/htdocs/compta/tva/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2018 Laurent Destailleur + * Copyright (C) 2004-2020 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011-2019 Alexandre Spangaro * @@ -160,9 +160,8 @@ if ($result) print ''; print ''; print ''; - print ''; - print_barre_liste($langs->trans("VATPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'title_accountancy', 0, $newcardbutton, '', $limit); + print_barre_liste($langs->trans("VATPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'title_accountancy', 0, $newcardbutton, '', $limit, 0, 0, 1); print '
    '; print '
    '; - print $ligne->LibStatut($obj->statut, 2).' '; + print $line->LibStatut($obj->statut, 2).' '; print ''; print substr('000000'.$obj->rowid, -6)."
     '.$objp->pcg_type.($objp->pcg_subtype != 'XXXXXX' ? ' - '.$objp->pcg_subtype : '').($objp->name ? ' ('.$objp->name.')' : '')."'.$objp->pcg_type.($objp->name ? ' ('.$objp->name.')' : '')."'.price($objp->amount)."
    '.$langs->trans("VariousPayment").'
     ".$langs->trans("Debit")."'.price(-$obj->amount).''.price(-$obj->amount)."
     ".$langs->trans("Credit")."'.price($obj->amount).''.price($obj->amount)."
    '.price($subtotal_ht).''.price($subtotal_ttc).'
    '.$langs->trans("PaymentLoan").'
     ".$loan_static->getNomUrl(1).' - '.$obj->label."'.price(-$obj->amount).''.price(-$obj->amount)."
    '.price($subtotal_ht).''.price($subtotal_ttc).'
    '.$langs->trans("Total").''.price($catotal_ht).'  '.price($catotal_ht).'  '.price($catotal_ht).'
    '."\n"; diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index cecc7867b0f..ce948211c46 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -691,6 +691,7 @@ else // Country print ''; @@ -722,24 +723,34 @@ else if (($objsoc->typent_code == 'TE_PRIVATE' || !empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->fax)) == 0) $object->fax = $objsoc->fax; // Predefined with third party // Phone / Fax - print ''; - print ''; + print ''; + print ''; if ($conf->browser->layout == 'phone') print ''; - print ''; - print ''; + print ''; + print ''; - print ''; - print ''; + print ''; + print ''; if ($conf->browser->layout == 'phone') print ''; - print ''; - print ''; + print ''; + print ''; print ''; if (($objsoc->typent_code == 'TE_PRIVATE' || !empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->email)) == 0) $object->email = $objsoc->email; // Predefined with third party // Email - print ''; - print ''; + print ''; + print ''; print ''; if (!empty($conf->mailing->enabled)) @@ -964,12 +975,12 @@ else // Lastname print ''; - print ''; + print ''; print ''; print ''; // Firstname print ''; - print ''; + print ''; print ''; // Company @@ -988,13 +999,13 @@ else print ''; print ''; - print ''; + print ''; // Address print ''; print ''; // Country print ''; @@ -1029,19 +1041,29 @@ else } // Phone - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; // EMail - print ''; - print ''; + print ''; + print ''; if (!empty($conf->mailing->enabled)) { $langs->load("mails"); diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 7f52195297b..a3cdb1747a0 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -489,7 +489,7 @@ class Contact extends CommonObject $action = 'update'; // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1168,7 +1168,7 @@ class Contact extends CommonObject } // Removed extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) { + if (!$error) { // For avoid conflicts if trigger used $result = $this->deleteExtraFields(); if ($result < 0) $error++; diff --git a/htdocs/contact/consumption.php b/htdocs/contact/consumption.php index fe230ba45b9..ad4b5ca08f5 100644 --- a/htdocs/contact/consumption.php +++ b/htdocs/contact/consumption.php @@ -147,11 +147,11 @@ if ($conf->ficheinter->enabled && $user->rights->ficheinter->lire) $elementTypeA if ($object->thirdparty->fournisseur) { $thirdTypeArray['supplier'] = $langs->trans("supplier"); - if ($conf->fournisseur->enabled && $user->rights->fournisseur->facture->lire) $elementTypeArray['supplier_invoice'] = $langs->transnoentitiesnoconv('SuppliersInvoices'); - if ($conf->fournisseur->enabled && $user->rights->fournisseur->commande->lire) $elementTypeArray['supplier_order'] = $langs->transnoentitiesnoconv('SuppliersOrders'); + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) $elementTypeArray['supplier_invoice'] = $langs->transnoentitiesnoconv('SuppliersInvoices'); + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) && $user->rights->fournisseur->commande->lire) $elementTypeArray['supplier_order']= $langs->transnoentitiesnoconv('SuppliersOrders'); - // There no contact type for supplier proposals - // if ($conf->fournisseur->enabled && $user->rights->supplier_proposal->lire) $elementTypeArray['supplier_proposal']=$langs->transnoentitiesnoconv('SupplierProposals'); + // There no contact type for supplier proposals + // if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $user->rights->supplier_proposal->lire) $elementTypeArray['supplier_proposal']=$langs->transnoentitiesnoconv('SupplierProposals'); } print '
    '; + print img_picto('', 'globe-americas', 'class="paddingrightonly"'); print $form->select_country((GETPOST("country_id", 'alpha') ? GETPOST("country_id", 'alpha') : $object->country_id), 'country_id'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '.img_picto('', 'object_phoning').' '.$form->editfieldkey('PhonePro', 'phone_pro', '', $object, 0).'
    '.$form->editfieldkey('PhonePro', 'phone_pro', '', $object, 0).''; + print img_picto('', 'object_phoning'); + print '
    '.img_picto('', 'object_phoning').' '.$form->editfieldkey('PhonePerso', 'phone_perso', '', $object, 0).'
    '.$form->editfieldkey('PhonePerso', 'phone_perso', '', $object, 0).''; + print img_picto('', 'object_phoning'); + print '
    '.img_picto('', 'object_phoning_mobile').' '.$form->editfieldkey('PhoneMobile', 'phone_mobile', '', $object, 0).'
    '.$form->editfieldkey('PhoneMobile', 'phone_mobile', '', $object, 0).''; + print img_picto('', 'object_phoning_mobile'); + print '
    '.img_picto('', 'object_phoning_fax').' '.$form->editfieldkey('Fax', 'fax', '', $object, 0).''.$form->editfieldkey('Fax', 'fax', '', $object, 0).''; + print img_picto('', 'object_phoning_fax'); + print '
    '.img_picto('', 'object_email').' '.$form->editfieldkey('EMail', 'email', '', $object, 0, 'string', '').'
    '.$form->editfieldkey('EMail', 'email', '', $object, 0, 'string', '').''; + print img_picto('', 'object_email'); + print '
    lastname).'" autofocus="autofocus">lastname).'" autofocus="autofocus">
    firstname).'">firstname).'">
    poste).'">
    poste).'">
    '; - print '
    '; - print ''; + print '
    '; + print ''; print '
    '; if ($conf->use_javascript_ajax) print ''.$langs->trans('CopyAddressFromSoc').'
    '; print '
    '; @@ -1002,13 +1013,14 @@ else // Zip / Town print '
    / '; - print $formcompany->select_ziptown((isset($_POST["zipcode"]) ?GETPOST("zipcode") : $object->zip), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6).' '; - print $formcompany->select_ziptown((isset($_POST["town"]) ?GETPOST("town") : $object->town), 'town', array('zipcode', 'selectcountry_id', 'state_id')); + print $formcompany->select_ziptown((GETPOSTISSET("zipcode") ? GETPOST("zipcode") : $object->zip), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6).' '; + print $formcompany->select_ziptown((GETPOSTISSET("town") ? GETPOST("town") : $object->town), 'town', array('zipcode', 'selectcountry_id', 'state_id')); print '
    '; - print $form->select_country(isset($_POST["country_id"]) ?GETPOST("country_id") : $object->country_id, 'country_id'); + print img_picto('', 'globe-americas', 'class="paddingrightonly"'); + print $form->select_country(GETPOSTISSET("country_id") ? GETPOST("country_id") : $object->country_id, 'country_id'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '.img_picto('', 'object_phoning').' '.$form->editfieldkey('PhonePro', 'phone_pro', GETPOST('phone_pro', 'alpha'), $object, 0).''.img_picto('', 'object_phoning').' '.$form->editfieldkey('PhonePerso', 'fax', GETPOST('phone_perso', 'alpha'), $object, 0).'
    '.$form->editfieldkey('PhonePro', 'phone_pro', GETPOST('phone_pro', 'alpha'), $object, 0).''; + print img_picto('', 'object_phoning'); + print ''.$form->editfieldkey('PhonePerso', 'fax', GETPOST('phone_perso', 'alpha'), $object, 0).''; + print img_picto('', 'object_phoning'); + print '
    '.img_picto('', 'object_phoning_mobile').' '.$form->editfieldkey('PhoneMobile', 'phone_mobile', GETPOST('phone_mobile', 'alpha'), $object, 0, 'string', '').''.img_picto('', 'object_phoning_fax').' '.$form->editfieldkey('Fax', 'fax', GETPOST('fax', 'alpha'), $object, 0).'
    '.$form->editfieldkey('PhoneMobile', 'phone_mobile', GETPOST('phone_mobile', 'alpha'), $object, 0, 'string', '').''; + print img_picto('', 'object_phoning_mobile'); + print ''.$form->editfieldkey('Fax', 'fax', GETPOST('fax', 'alpha'), $object, 0).''; + print img_picto('', 'object_phoning_fax'); + print '
    '.img_picto('', 'object_email').' '.$form->editfieldkey('EMail', 'email', GETPOST('email', 'alpha'), $object, 0, 'string', '', (!empty($conf->global->SOCIETE_EMAIL_MANDATORY))).'
    '.$form->editfieldkey('EMail', 'email', GETPOST('email', 'alpha'), $object, 0, 'string', '', (!empty($conf->global->SOCIETE_EMAIL_MANDATORY))).''; + print img_picto('', 'object_email'); + print '
    '; diff --git a/htdocs/contact/document.php b/htdocs/contact/document.php index 28d8ac42f6b..e21ee3e492b 100644 --- a/htdocs/contact/document.php +++ b/htdocs/contact/document.php @@ -55,11 +55,12 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'contact', $id, 'socpeople&societe', '', '', 'rowid', $objcanvas); // If we create a contact with no company (shared contacts), no check on write permission // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index 25242dc2185..9e7485d189f 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -939,7 +939,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/contact/vcard.php b/htdocs/contact/vcard.php index de064d6bccf..75362491424 100644 --- a/htdocs/contact/vcard.php +++ b/htdocs/contact/vcard.php @@ -2,6 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2020 Tobias Sekan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -57,29 +58,58 @@ $v = new vCard(); $v->setProdId('Dolibarr '.DOL_VERSION); $v->setUid('DOLIBARR-CONTACTID-'.$contact->id); -$v->setName($contact->lastname, $contact->firstname, "", "", ""); -$v->setFormattedName($contact->getFullName($langs)); +$v->setName($contact->lastname, $contact->firstname, "", $contact->civility, ""); +$v->setFormattedName($contact->getFullName($langs, 1)); -// By default, all informations are for work (except phone_perso and phone_mobile) $v->setPhoneNumber($contact->phone_pro, "TYPE=WORK;VOICE"); +//$v->setPhoneNumber($contact->phone_perso,"TYPE=HOME;VOICE"); $v->setPhoneNumber($contact->phone_mobile, "TYPE=CELL;VOICE"); $v->setPhoneNumber($contact->fax, "TYPE=WORK;FAX"); -$v->setAddress("", "", $contact->address, $contact->town, "", $contact->zip, ($contact->country_code ? $contact->country : ''), "TYPE=WORK;POSTAL"); -$v->setLabel("", "", $contact->address, $contact->town, "", $contact->zip, ($contact->country_code ? $contact->country : ''), "TYPE=WORK"); -$v->setEmail($contact->email, 'TYPE=PREF,INTERNET'); -$v->setNote($contact->note); +$country = $contact->country_code ? $contact->country : '' ; +$v->setAddress("", "", $contact->address, $contact->town, $contact->state, $contact->zip, $country, "TYPE=WORK;POSTAL"); +$v->setLabel("", "", $contact->address, $contact->town, $contact->state, $contact->zip, $country, "TYPE=WORK"); + +$v->setEmail($contact->email); +$v->setNote($contact->note); $v->setTitle($contact->poste); // Data from linked company if ($company->id) { $v->setURL($company->url, "TYPE=WORK"); - if (!$contact->phone_pro) $v->setPhoneNumber($company->phone, "TYPE=WORK;VOICE"); - if (!$contact->fax) $v->setPhoneNumber($company->fax, "TYPE=WORK;FAX"); - if (!$contact->zip) $v->setAddress("", "", $company->address, $company->town, "", $company->zip, $company->country, "TYPE=WORK;POSTAL"); - if ($company->email != $contact->email) $v->setEmail($company->email, 'TYPE=PREF,INTERNET'); + if (! $contact->phone_pro) $v->setPhoneNumber($company->phone, "TYPE=WORK;VOICE"); + if (! $contact->fax) $v->setPhoneNumber($company->fax, "TYPE=WORK;FAX"); + if (! $contact->zip) $v->setAddress("", "", $company->address, $company->town, $company->state, $company->zip, $company->country, "TYPE=WORK;POSTAL"); + + // when company e-mail is empty, use only contact e-mail + if (empty(trim($company->email))) + { + // was set before, don't set twice + } + // when contact e-mail is empty, use only company e-mail + elseif (empty(trim($contact->email))) + { + $v->setEmail($company->email); + } + // when e-mail domain of contact and company are the same, use contact e-mail at first (and company e-mail at second) + elseif (strtolower(end(explode("@", $contact->email))) == strtolower(end(explode("@", $company->email)))) + { + $v->setEmail($contact->email); + + // support by Microsoft Outlook (2019 and possible earlier) + $v->setEmail($company->email, 'INTERNET'); + } + // when e-mail of contact and company complete different use company e-mail at first (and contact e-mail at second) + else + { + $v->setEmail($company->email); + + // support by Microsoft Outlook (2019 and possible earlier) + $v->setEmail($contact->email, 'INTERNET'); + } + // Si contact lie a un tiers non de type "particulier" if ($contact->typent_code != 'TE_PRIVATE') $v->setOrg($company->name); } @@ -95,7 +125,7 @@ $db->close(); $output = $v->getVCard(); -$filename = trim(urldecode($v->getFileName())); // "Nom prenom.vcf" +$filename = trim(urldecode($v->getFileName())); // "Nom prenom.vcf" $filenameurlencoded = dol_sanitizeFileName(urlencode($filename)); //$filename = dol_sanitizeFileName($filename); diff --git a/htdocs/contrat/agenda.php b/htdocs/contrat/agenda.php index 2b7ca20c6e8..0055b0ba428 100644 --- a/htdocs/contrat/agenda.php +++ b/htdocs/contrat/agenda.php @@ -146,14 +146,16 @@ if ($id > 0) $morehtmlref .= $form->editfieldval("", 'ref', $object->ref, $object, $user->rights->contrat->creer, 'string', '', 0, 2); } + $permtoedit = 0; + $morehtmlref .= '
    '; // Ref customer - $morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->contrat->creer, 'string', '', 0, 1); - $morehtmlref .= $form->editfieldval("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->contrat->creer, 'string', '', null, null, '', 1, 'getFormatedCustomerRef'); + $morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_customer', $object->ref_customer, $object, $permtoedit, 'string', '', 0, 1); + $morehtmlref .= $form->editfieldval("RefCustomer", 'ref_customer', $object->ref_customer, $object, $permtoedit, 'string', '', null, null, '', 1, 'getFormatedCustomerRef'); // Ref supplier $morehtmlref .= '
    '; - $morehtmlref .= $form->editfieldkey("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $user->rights->contrat->creer, 'string', '', 0, 1); - $morehtmlref .= $form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $user->rights->contrat->creer, 'string', '', null, null, '', 1, 'getFormatedSupplierRef'); + $morehtmlref .= $form->editfieldkey("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $permtoedit, 'string', '', 0, 1); + $morehtmlref .= $form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $permtoedit, 'string', '', null, null, '', 1, 'getFormatedSupplierRef'); // Thirdparty $morehtmlref .= '
    '.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1); if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) $morehtmlref .= ' ('.$langs->trans("OtherContracts").')'; @@ -165,7 +167,8 @@ if ($id > 0) if ($user->rights->contrat->creer) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + //$morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).''; + $morehtmlref .= ' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 9d240a31a79..9f825cdf009 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -316,7 +316,7 @@ if (empty($reshook)) // Extrafields $array_options = array(); // For avoid conflicts if trigger used - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; } @@ -521,7 +521,9 @@ if (empty($reshook)) } $desc = $prod->description; - $desc = dol_concatdesc($desc, $product_desc, '', !empty($conf->global->MAIN_CHANGE_ORDER_CONCAT_DESCRIPTION)); + if (!empty($product_desc) && !empty($conf->global->MAIN_NO_CONCAT_DESCRIPTION)) $desc = $product_desc; + else $desc = dol_concatdesc($desc, $product_desc, '', !empty($conf->global->MAIN_CHANGE_ORDER_CONCAT_DESCRIPTION)); + $fk_unit = $prod->fk_unit; } else @@ -1098,7 +1100,7 @@ if ($result > 0) // Create if ($action == 'create') { - print load_fiche_titre($langs->trans('AddContract'), '', 'commercial'); + print load_fiche_titre($langs->trans('AddContract'), '', 'contract'); $soc = new Societe($db); if ($socid > 0) $soc->fetch($socid); @@ -1450,7 +1452,7 @@ else print ''; - // Ligne info remises tiers + // Line info of thirdparty discounts print ''; } print ''; print ''; @@ -2225,13 +2225,12 @@ else $MAXEVENT = 10; - $morehtmlright = dolGetButtonTitle($langs->trans('SeeAll'), '', 'fa fa-list-alt', DOL_URL_ROOT.'/contrat/agenda.php?id='.$object->id); + $morehtmlcenter = dolGetButtonTitle($langs->trans('SeeAll'), '', 'fa fa-list-alt imgforviewmode', DOL_URL_ROOT.'/contrat/agenda.php?id='.$object->id); // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; $formactions = new FormActions($db); - $somethingshown = $formactions->showactions($object, 'contract', $socid, 1, 'listactions', $MAXEVENT, '', $morehtmlright); - + $somethingshown = $formactions->showactions($object, 'contract', $socid, 1, 'listactions', $MAXEVENT, '', $morehtmlcenter); print ''; } diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 310aed1cd52..1dec473edac 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1035,7 +1035,7 @@ class Contrat extends CommonObject } } - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1252,6 +1252,22 @@ class Contrat extends CommonObject } } + if (!$error) + { + // Delete contratdet extrafields + $main = MAIN_DB_PREFIX.'contratdet'; + $ef = $main."_extrafields"; + $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_contrat = ".$this->id.")"; + + dol_syslog(get_class($this)."::delete contratdet_extrafields", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) + { + $this->error = $this->db->error(); + $error++; + } + } + if (!$error) { // Delete contratdet @@ -1383,7 +1399,7 @@ class Contrat extends CommonObject $resql = $this->db->query($sql); if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); } - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1588,7 +1604,7 @@ class Contrat extends CommonObject { $contractlineid = $this->db->last_insert_id(MAIN_DB_PREFIX."contratdet"); - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options) > 0) // For avoid conflicts if trigger used + if (!$error) { $contractline = new ContratLigne($this->db); $contractline->array_options = $array_options; @@ -1777,7 +1793,7 @@ class Contrat extends CommonObject $result = $this->update_statut($user); if ($result >= 0) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options) > 0) // For avoid conflicts if trigger used + if (is_array($array_options) && count($array_options) > 0) // For avoid conflicts if trigger used { $contractline = new ContratLigne($this->db); $contractline->fetch($rowid); @@ -1859,18 +1875,15 @@ class Contrat extends CommonObject $error++; } - if (empty($error)) { + if (!$error) { // Remove extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + $contractline = new ContratLigne($this->db); + $contractline->id = $idline; + $result = $contractline->deleteExtraFields(); + if ($result < 0) { - $contractline = new ContratLigne($this->db); - $contractline->id = $idline; - $result = $contractline->deleteExtraFields(); - if ($result < 0) - { - $error++; - $this->error = "Error ".get_class($this)."::deleteline deleteExtraFields error -4 ".$contractline->error; - } + $error++; + $this->error = "Error ".get_class($this)."::deleteline deleteExtraFields error -4 ".$contractline->error; } } @@ -3092,7 +3105,7 @@ class ContratLigne extends CommonObjectLine $error++; } - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) // For avoid conflicts if trigger used + if (!$error) // For avoid conflicts if trigger used { $result = $this->insertExtraFields(); if ($result < 0) @@ -3202,6 +3215,8 @@ class ContratLigne extends CommonObjectLine { global $conf, $user; + $error = 0; + // Insertion dans la base $sql = "INSERT INTO ".MAIN_DB_PREFIX."contratdet"; $sql .= " (fk_contrat, label, description, fk_product, qty, vat_src_code, tva_tx,"; @@ -3240,7 +3255,7 @@ class ContratLigne extends CommonObjectLine $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'contratdet'); // Insert of extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/contrat/document.php b/htdocs/contrat/document.php index c104d210617..fd3b3f66e4a 100644 --- a/htdocs/contrat/document.php +++ b/htdocs/contrat/document.php @@ -55,11 +55,12 @@ if ($user->socid > 0) $result = restrictedArea($user, 'contrat', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; @@ -135,6 +136,7 @@ if ($object->id) $morehtmlref .= $form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', null, null, '', 1, 'getFormatedSupplierRef'); // Thirdparty $morehtmlref .= '
    '.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1); + if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) $morehtmlref .= ' ('.$langs->trans("OtherContracts").')'; // Project if (!empty($conf->projet->enabled)) { @@ -177,7 +179,6 @@ if ($object->id) print '
    '; print '
    '; - print '
    '.$langs->trans('Discount').''; if ($object->thirdparty->remise_percent) print $langs->trans("CompanyHasRelativeDiscount", $object->thirdparty->remise_percent); else print $langs->trans("CompanyHasNoRelativeDiscount"); @@ -1500,8 +1502,6 @@ else } - $colorb = '666666'; - $arrayothercontracts = $object->getListOfContracts('others'); /* @@ -1642,13 +1642,13 @@ else } if ($user->rights->contrat->creer && ($object->statut >= 0)) { - print ''; + print ''; print img_edit(); print ''; } if ($user->rights->contrat->creer && ($object->statut >= 0)) { - print ''; + print ''; print img_delete(); print ''; } @@ -1773,8 +1773,8 @@ else print ''; - print ''; - print '
    '; + print ''; + print '
    '; print '
    '; print ''; print ''; diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index 3c306453c00..2a7c9c0d91a 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -70,7 +70,7 @@ $now = dol_now(); llxHeader(); -print load_fiche_titre($langs->trans("ContractsArea"), '', 'commercial'); +print load_fiche_titre($langs->trans("ContractsArea"), '', 'contract'); //print '
    '.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
    '.$langs->trans("TotalSizeOfAttachedFiles").''.dol_print_size($totalsize, 1, 1).'
    '; @@ -360,7 +360,7 @@ if ($result) $obj = $db->fetch_object($result); print ''; - print ''; - print ''; - print ''; - print ''; + + // Ref if (!empty($arrayfields['c.ref']['checked'])) { - print ''; } + if (!empty($arrayfields['c.ref_customer']['checked'])) { print ''; @@ -743,7 +746,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/contrat/services_list.php b/htdocs/contrat/services_list.php index c8a6c321b6e..2b81ceff5fa 100644 --- a/htdocs/contrat/services_list.php +++ b/htdocs/contrat/services_list.php @@ -247,22 +247,31 @@ if ($search_name) $sql .= " AND s.nom LIKE '%".$db->escape($search_name)."%' if ($search_contract) $sql .= " AND c.ref LIKE '%".$db->escape($search_contract)."%' "; if ($search_service) $sql .= " AND (p.ref LIKE '%".$db->escape($search_service)."%' OR p.description LIKE '%".$db->escape($search_service)."%' OR cd.description LIKE '%".$db->escape($search_service)."%')"; if ($socid > 0) $sql .= " AND s.rowid = ".$socid; -$filter_dateouvertureprevue = dol_mktime(0, 0, 0, $opouvertureprevuemonth, $opouvertureprevueday, $opouvertureprevueyear); -if ($filter_dateouvertureprevue != '' && $filter_opouvertureprevue == -1) $filter_opouvertureprevue = '='; -$filter_date1 = dol_mktime(0, 0, 0, $op1month, $op1day, $op1year); -if ($filter_date1 != '' && $filter_op1 == -1) $filter_op1 = '='; +$filter_dateouvertureprevue_start=dol_mktime(0, 0, 0, $opouvertureprevuemonth, $opouvertureprevueday, $opouvertureprevueyear); +$filter_dateouvertureprevue_end=dol_mktime(23, 59, 59, $opouvertureprevuemonth, $opouvertureprevueday, $opouvertureprevueyear); +if ($filter_dateouvertureprevue_start != '' && $filter_opouvertureprevue == -1) $filter_opouvertureprevue = ' BETWEEN '; -$filter_date2 = dol_mktime(0, 0, 0, $op2month, $op2day, $op2year); -if ($filter_date2 != '' && $filter_op2 == -1) $filter_op2 = '='; +$filter_date1_start =dol_mktime(0, 0, 0, $op1month, $op1day, $op1year); +$filter_date1_end =dol_mktime(23, 59, 59, $op1month, $op1day, $op1year); +if ($filter_date1_start != '' && $filter_op1 == -1) $filter_op1 = ' BETWEEN '; -$filter_datecloture = dol_mktime(0, 0, 0, $opcloturemonth, $opclotureday, $opclotureyear); -if ($filter_datecloture != '' && $filter_opcloture == -1) $filter_opcloture = '='; +$filter_date2_start=dol_mktime(0, 0, 0, $op2month, $op2day, $op2year); +$filter_date2_end=dol_mktime(23, 59, 59, $op2month, $op2day, $op2year); +if ($filter_date2_start != '' && $filter_op2 == -1) $filter_op2 = ' BETWEEN '; -if (!empty($filter_opouvertureprevue) && $filter_opouvertureprevue != -1 && $filter_dateouvertureprevue != '') $sql .= " AND cd.date_ouverture_prevue ".$filter_opouvertureprevue." '".$db->idate($filter_dateouvertureprevue)."'"; -if (!empty($filter_op1) && $filter_op1 != -1 && $filter_date1 != '') $sql .= " AND cd.date_ouverture ".$filter_op1." '".$db->idate($filter_date1)."'"; -if (!empty($filter_op2) && $filter_op2 != -1 && $filter_date2 != '') $sql .= " AND cd.date_fin_validite ".$filter_op2." '".$db->idate($filter_date2)."'"; -if (!empty($filter_opcloture) && $filter_opcloture != -1 && $filter_datecloture != '') $sql .= " AND cd.date_cloture ".$filter_opcloture." '".$db->idate($filter_datecloture)."'"; +$filter_datecloture_start=dol_mktime(0, 0, 0, $opcloturemonth, $opclotureday, $opclotureyear); +$filter_datecloture_end=dol_mktime(23, 59, 59, $opcloturemonth, $opclotureday, $opclotureyear); +if ($filter_datecloture_start != '' && $filter_opcloture == -1) $filter_opcloture = ' BETWEEN '; + +if (! empty($filter_opouvertureprevue) && $filter_opouvertureprevue != -1 && $filter_opouvertureprevue != ' BETWEEN ' && $filter_dateouvertureprevue_start != '') $sql.= " AND cd.date_ouverture_prevue ".$filter_opouvertureprevue." '".$db->idate($filter_dateouvertureprevue_start)."'"; +if (! empty($filter_opouvertureprevue) && $filter_opouvertureprevue == ' BETWEEN ') $sql.= " AND '".$db->idate($filter_dateouvertureprevue_end)."'"; +if (! empty($filter_op1) && $filter_op1 != -1 && $filter_op1 != ' BETWEEN ' && $filter_date1_start != '') $sql.= " AND cd.date_ouverture ".$filter_op1." '".$db->idate($filter_date1_start)."'"; +if (! empty($filter_op1) && $filter_op1==' BETWEEN ') $sql.= " AND '".$db->idate($filter_date1_end)."'"; +if (! empty($filter_op2) && $filter_op2 != -1 && $filter_op2 != ' BETWEEN ' && $filter_date2_start != '') $sql.= " AND cd.date_fin_validite ".$filter_op2." '".$db->idate($filter_date2_start)."'"; +if (! empty($filter_op2) && $filter_op2==' BETWEEN ') $sql.= " AND '".$db->idate($filter_date2_end)."'"; +if (! empty($filter_opcloture) && $filter_opcloture != ' BETWEEN ' && $filter_opcloture != -1 && $filter_datecloture_start != '') $sql.= " AND cd.date_cloture ".$filter_opcloture." '".$db->idate($filter_datecloture_start)."'"; +if (! empty($filter_opcloture) && $filter_opcloture==' BETWEEN ') $sql.= " AND '".$db->idate($filter_datecloture_end)."'"; // Add where from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; $sql .= $db->order($sortfield, $sortorder); @@ -349,7 +358,8 @@ if ($mode == "0") $title = $langs->trans("ListOfInactiveServices"); // Must use if ($mode == "4" && $filter != "expired") $title = $langs->trans("ListOfRunningServices"); if ($mode == "4" && $filter == "expired") $title = $langs->trans("ListOfExpiredServices"); if ($mode == "5") $title = $langs->trans("ListOfClosedServices"); -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, '', '', $limit); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'contract', 0, '', '', $limit); if ($sall) { @@ -687,7 +697,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index e8cfa803573..ebae28e9582 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -751,7 +751,7 @@ if ($massaction == 'confirm_createbills') // Create bills from orders } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; } diff --git a/htdocs/core/ajax/ajaxdirpreview.php b/htdocs/core/ajax/ajaxdirpreview.php index 31d0b449d5b..bb6a8de30d4 100644 --- a/htdocs/core/ajax/ajaxdirpreview.php +++ b/htdocs/core/ajax/ajaxdirpreview.php @@ -46,11 +46,12 @@ if (!isset($mode) || $mode != 'noajax') // For ajax call $urlsource = GETPOST("urlsource", 'alpha'); $search_doc_ref = GETPOST('search_doc_ref', 'alpha'); + $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 - $offset = $conf->liste_limit * $page; + $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/core/ajax/ajaxdirtree.php b/htdocs/core/ajax/ajaxdirtree.php index 04687b77829..3e54532668a 100644 --- a/htdocs/core/ajax/ajaxdirtree.php +++ b/htdocs/core/ajax/ajaxdirtree.php @@ -428,11 +428,11 @@ function treeOutputForAbsoluteDir($sqltree, $selecteddir, $fullpathselecteddir, print (isset($val['cachenbofdoc']) && $val['cachenbofdoc'] >= 0) ? $val['cachenbofdoc'] : ' '; print ''; print ''; // Edit link - print ''; diff --git a/htdocs/core/ajax/objectonoff.php b/htdocs/core/ajax/objectonoff.php index dd39bce6d4e..6466df89a07 100644 --- a/htdocs/core/ajax/objectonoff.php +++ b/htdocs/core/ajax/objectonoff.php @@ -43,9 +43,9 @@ if (!empty($user->socid)) { $socid = $user->socid; } -if (empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) { +/*if (empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) { accessforbidden('Calling this file is allowed only when MAIN_DIRECT_STATUS_UPDATE is set'); -} +}*/ /* @@ -75,5 +75,10 @@ if (($action == 'set') && !empty($id)) { $triggerkey = 'COMPANY_UPDATE'; } - $object->setValueFrom($field, $value, $element, $id, $user, $triggerkey); + $tablename = $element; + if ($tablename == 'websitepage') $tablename = 'website_page'; + + $format = 'int'; + + $object->setValueFrom($field, $value, $tablename, $id, $format, '', $user, $triggerkey); } diff --git a/htdocs/core/ajax/price.php b/htdocs/core/ajax/price.php index ea5efee7ebf..4e4e302d439 100644 --- a/htdocs/core/ajax/price.php +++ b/htdocs/core/ajax/price.php @@ -40,20 +40,20 @@ top_httphead(); //print ''."\n"; // Load original field value -if (! empty($output) && isset($amount) && isset($tva_tx)) +if (!empty($output) && isset($amount) && isset($tva_tx)) { - $return=array(); - $price=''; + $return = array(); + $price = ''; if (is_numeric($amount) && $amount != '') { if ($output == 'price_ttc') { - $price = price2num($amount * (1 + ($tva_tx/100)), 'MU'); + $price = price2num($amount * (1 + ($tva_tx / 100)), 'MU'); $return['price_ht'] = $amount; $return['price_ttc'] = (isset($price) && $price != '' ? price($price) : ''); } elseif ($output == 'price_ht') { - $price = price2num($amount / (1 + ($tva_tx/100)), 'MU'); + $price = price2num($amount / (1 + ($tva_tx / 100)), 'MU'); $return['price_ht'] = (isset($price) && $price != '' ? price($price) : ''); $return['price_ttc'] = ($tva_tx == 0 ? $price : $amount); } diff --git a/htdocs/core/ajax/selectsearchbox.php b/htdocs/core/ajax/selectsearchbox.php index e43ea5d0fc5..31a95d1e02c 100644 --- a/htdocs/core/ajax/selectsearchbox.php +++ b/htdocs/core/ajax/selectsearchbox.php @@ -56,7 +56,7 @@ $arrayresult = array(); if (!empty($conf->adherent->enabled) && empty($conf->global->MAIN_SEARCHFORM_ADHERENT_DISABLED) && $user->rights->adherent->lire) { - $arrayresult['searchintomember'] = array('position'=>8, 'shortcut'=>'M', 'img'=>'object_user', 'label'=>$langs->trans("SearchIntoMembers", $search_boxvalue), 'text'=>img_picto('', 'object_user').' '.$langs->trans("SearchIntoMembers", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/adherents/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintomember'] = array('position'=>8, 'shortcut'=>'M', 'img'=>'object_member', 'label'=>$langs->trans("SearchIntoMembers", $search_boxvalue), 'text'=>img_picto('', 'object_member').' '.$langs->trans("SearchIntoMembers", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/adherents/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); } if (((!empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || !empty($conf->fournisseur->enabled)) && empty($conf->global->MAIN_SEARCHFORM_SOCIETE_DISABLED) && $user->rights->societe->lire) @@ -75,13 +75,18 @@ if (((!empty($conf->product->enabled) && $user->rights->produit->lire) || (!empt $arrayresult['searchintoproduct'] = array('position'=>30, 'shortcut'=>'P', 'img'=>'object_product', 'label'=>$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'text'=>img_picto('', 'object_product').' '.$langs->trans("SearchIntoProductsOrServices", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/product/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); } +if (!empty($conf->mrp->enabled) && $user->rights->mrp->read && empty($conf->global->MAIN_SEARCHFORM_MRP_DISABLED)) +{ + $arrayresult['searchintomo'] = array('position'=>35, 'shortcut'=>'', 'img'=>'object_mrp', 'label'=>$langs->trans("SearchIntoMO", $search_boxvalue), 'text'=>img_picto('', 'object_mrp').' '.$langs->trans("SearchIntoMO", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/mrp/mo_list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); +} + if (!empty($conf->projet->enabled) && empty($conf->global->MAIN_SEARCHFORM_PROJECT_DISABLED) && $user->rights->projet->lire) { - $arrayresult['searchintoprojects'] = array('position'=>40, 'shortcut'=>'Q', 'img'=>'object_projectpub', 'label'=>$langs->trans("SearchIntoProjects", $search_boxvalue), 'text'=>img_picto('', 'object_projectpub').' '.$langs->trans("SearchIntoProjects", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/projet/list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintoprojects'] = array('position'=>40, 'shortcut'=>'Q', 'img'=>'object_projectpub', 'label'=>$langs->trans("SearchIntoProjects", $search_boxvalue), 'text'=>img_picto('', 'object_project').' '.$langs->trans("SearchIntoProjects", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/projet/list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); } if (!empty($conf->projet->enabled) && empty($conf->global->MAIN_SEARCHFORM_TASK_DISABLED) && $user->rights->projet->lire) { - $arrayresult['searchintotasks'] = array('position'=>45, 'img'=>'object_task', 'label'=>$langs->trans("SearchIntoTasks", $search_boxvalue), 'text'=>img_picto('', 'object_task').' '.$langs->trans("SearchIntoTasks", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/projet/tasks/list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintotasks'] = array('position'=>45, 'img'=>'object_projecttask', 'label'=>$langs->trans("SearchIntoTasks", $search_boxvalue), 'text'=>img_picto('', 'object_projecttask').' '.$langs->trans("SearchIntoTasks", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/projet/tasks/list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); } if (!empty($conf->propal->enabled) && empty($conf->global->MAIN_SEARCHFORM_CUSTOMER_PROPAL_DISABLED) && $user->rights->propal->lire) @@ -94,7 +99,7 @@ if (!empty($conf->commande->enabled) && empty($conf->global->MAIN_SEARCHFORM_CUS } if (!empty($conf->expedition->enabled) && empty($conf->global->MAIN_SEARCHFORM_CUSTOMER_SHIPMENT_DISABLED) && $user->rights->expedition->lire) { - $arrayresult['searchintoshipment'] = array('position'=>80, 'img'=>'object_sending', 'label'=>$langs->trans("SearchIntoCustomerShipments", $search_boxvalue), 'text'=>img_picto('', 'object_sending').' '.$langs->trans("SearchIntoCustomerShipments", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/expedition/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintoshipment'] = array('position'=>80, 'img'=>'object_shipment', 'label'=>$langs->trans("SearchIntoCustomerShipments", $search_boxvalue), 'text'=>img_picto('', 'object_shipment').' '.$langs->trans("SearchIntoCustomerShipments", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/expedition/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); } if (!empty($conf->facture->enabled) && empty($conf->global->MAIN_SEARCHFORM_CUSTOMER_INVOICE_DISABLED) && $user->rights->facture->lire) { @@ -103,15 +108,15 @@ if (!empty($conf->facture->enabled) && empty($conf->global->MAIN_SEARCHFORM_CUST if (!empty($conf->supplier_proposal->enabled) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_PROPAL_DISABLED) && $user->rights->supplier_proposal->lire) { - $arrayresult['searchintosupplierpropal'] = array('position'=>100, 'img'=>'object_propal', 'label'=>$langs->trans("SearchIntoSupplierProposals", $search_boxvalue), 'text'=>img_picto('', 'object_propal').' '.$langs->trans("SearchIntoSupplierProposals", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/supplier_proposal/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintosupplierpropal'] = array('position'=>100, 'img'=>'object_propal', 'label'=>$langs->trans("SearchIntoSupplierProposals", $search_boxvalue), 'text'=>img_picto('', 'object_supplier_proposal').' '.$langs->trans("SearchIntoSupplierProposals", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/supplier_proposal/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); } -if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_ORDER_DISABLED) && $user->rights->fournisseur->commande->lire) +if ((! empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_ORDER_DISABLED) || ! empty($conf->supplier_order->enabled)) && $user->rights->fournisseur->commande->lire) { - $arrayresult['searchintosupplierorder'] = array('position'=>110, 'img'=>'object_order', 'label'=>$langs->trans("SearchIntoSupplierOrders", $search_boxvalue), 'text'=>img_picto('', 'object_order').' '.$langs->trans("SearchIntoSupplierOrders", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/fourn/commande/list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintosupplierorder'] = array('position'=>110, 'img'=>'object_order', 'label'=>$langs->trans("SearchIntoSupplierOrders", $search_boxvalue), 'text'=>img_picto('', 'object_supplier_order').' '.$langs->trans("SearchIntoSupplierOrders", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/fourn/commande/list.php'.($search_boxvalue ? '?search_all='.urlencode($search_boxvalue) : '')); } -if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_INVOICE_DISABLED) && $user->rights->fournisseur->facture->lire) +if ((! empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_INVOICE_DISABLED) || ! empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) { - $arrayresult['searchintosupplierinvoice'] = array('position'=>120, 'img'=>'object_bill', 'label'=>$langs->trans("SearchIntoSupplierInvoices", $search_boxvalue), 'text'=>img_picto('', 'object_bill').' '.$langs->trans("SearchIntoSupplierInvoices", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/fourn/facture/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); + $arrayresult['searchintosupplierinvoice'] = array('position'=>120, 'img'=>'object_bill', 'label'=>$langs->trans("SearchIntoSupplierInvoices", $search_boxvalue), 'text'=>img_picto('', 'object_supplier_invoice').' '.$langs->trans("SearchIntoSupplierInvoices", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/fourn/facture/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); } if (!empty($conf->contrat->enabled) && empty($conf->global->MAIN_SEARCHFORM_CONTRACT_DISABLED) && $user->rights->contrat->lire) @@ -122,6 +127,10 @@ if (!empty($conf->ficheinter->enabled) && empty($conf->global->MAIN_SEARCHFORM_F { $arrayresult['searchintointervention'] = array('position'=>140, 'img'=>'object_intervention', 'label'=>$langs->trans("SearchIntoInterventions", $search_boxvalue), 'text'=>img_picto('', 'object_intervention').' '.$langs->trans("SearchIntoInterventions", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/fichinter/list.php'.($search_boxvalue ? '?sall='.urlencode($search_boxvalue) : '')); } +if (!empty($conf->ticket->enabled) && empty($conf->global->MAIN_SEARCHFORM_TICKET_DISABLED) && $user->rights->ticket->read) +{ + $arrayresult['searchintotickets'] = array('position'=>145, 'img'=>'object_ticket', 'label'=>$langs->trans("SearchIntoTickets", $search_boxvalue), 'text'=>img_picto('', 'object_ticket').' '.$langs->trans("SearchIntoTickets", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/ticket/list.php?mainmenu=ticket'.($search_boxvalue ? '&sall='.urlencode($search_boxvalue) : '')); +} // HR if (!empty($conf->user->enabled) && empty($conf->global->MAIN_SEARCHFORM_USER_DISABLED) && $user->rights->user->user->lire) @@ -136,10 +145,6 @@ if (!empty($conf->holiday->enabled) && empty($conf->global->MAIN_SEARCHFORM_HOLI { $arrayresult['searchintoleaves'] = array('position'=>220, 'img'=>'object_holiday', 'label'=>$langs->trans("SearchIntoLeaves", $search_boxvalue), 'text'=>img_picto('', 'object_holiday').' '.$langs->trans("SearchIntoLeaves", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/holiday/list.php?mainmenu=hrm'.($search_boxvalue ? '&sall='.urlencode($search_boxvalue) : '')); } -if (!empty($conf->ticket->enabled) && empty($conf->global->MAIN_SEARCHFORM_TICKET_DISABLED) && $user->rights->ticket->read) -{ - $arrayresult['searchintotickets'] = array('position'=>220, 'img'=>'object_ticket', 'label'=>$langs->trans("SearchIntoTickets", $search_boxvalue), 'text'=>img_picto('', 'object_ticket').' '.$langs->trans("SearchIntoTickets", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/ticket/list.php?mainmenu=ticket'.($search_boxvalue ? '&sall='.urlencode($search_boxvalue) : '')); -} /* Do we really need this. We already have a select for users, and we should be able to filter into user list on employee flag diff --git a/htdocs/core/boxes/box_accountancy_last_manual_entries.php b/htdocs/core/boxes/box_accountancy_last_manual_entries.php index f1ee00c6c59..6198c90e663 100644 --- a/htdocs/core/boxes/box_accountancy_last_manual_entries.php +++ b/htdocs/core/boxes/box_accountancy_last_manual_entries.php @@ -140,7 +140,10 @@ class box_accountancy_last_manual_entries extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedManualEntries")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedManualEntries") + ); $this->db->free($result); } else { diff --git a/htdocs/core/boxes/box_birthdays.php b/htdocs/core/boxes/box_birthdays.php index 7c8c110db88..17dd29057b3 100644 --- a/htdocs/core/boxes/box_birthdays.php +++ b/htdocs/core/boxes/box_birthdays.php @@ -89,7 +89,7 @@ class box_birthdays extends ModeleBoxes $sql = "SELECT u.rowid, u.firstname, u.lastname, u.birth"; $sql .= " FROM ".MAIN_DB_PREFIX."user as u"; $sql .= " WHERE u.entity IN (".getEntity('user').")"; - $sql .= dolSqlDateFilter('u.birth', 0, $tmparray['mon'], $tmparray['year']); + $sql .= dolSqlDateFilter('u.birth', 0, $tmparray['mon'], 0); $sql .= " ORDER BY u.birth ASC"; $sql .= $this->db->plimit($max, 0); diff --git a/htdocs/core/boxes/box_birthdays_members.php b/htdocs/core/boxes/box_birthdays_members.php index 96fc97f2e37..010bf8e7f21 100644 --- a/htdocs/core/boxes/box_birthdays_members.php +++ b/htdocs/core/boxes/box_birthdays_members.php @@ -90,7 +90,7 @@ class box_birthdays_members extends ModeleBoxes $sql .= " FROM ".MAIN_DB_PREFIX."adherent as u"; $sql .= " WHERE u.entity IN (".getEntity('adherent').")"; $sql .= " AND u.statut = 1"; - $sql .= dolSqlDateFilter('u.birth', 0, $tmparray['mon'], $tmparray['year']); + $sql .= dolSqlDateFilter('u.birth', 0, $tmparray['mon'], 0); $sql .= " ORDER BY u.birth ASC"; $sql .= $this->db->plimit($max, 0); diff --git a/htdocs/core/boxes/box_boms.php b/htdocs/core/boxes/box_boms.php index 57c5ce2e2e2..c75c4c24e8f 100644 --- a/htdocs/core/boxes/box_boms.php +++ b/htdocs/core/boxes/box_boms.php @@ -153,7 +153,10 @@ class box_boms extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedOrders")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedOrders") + ); $this->db->free($result); } else { diff --git a/htdocs/core/boxes/box_clients.php b/htdocs/core/boxes/box_clients.php index d82a4aee71e..70718db55b5 100644 --- a/htdocs/core/boxes/box_clients.php +++ b/htdocs/core/boxes/box_clients.php @@ -148,7 +148,10 @@ class box_clients extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedCustomers")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedCustomers") + ); $this->db->free($result); } diff --git a/htdocs/core/boxes/box_commandes.php b/htdocs/core/boxes/box_commandes.php index 37a25c8084d..7ec5071b6e3 100644 --- a/htdocs/core/boxes/box_commandes.php +++ b/htdocs/core/boxes/box_commandes.php @@ -174,7 +174,10 @@ class box_commandes extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedOrders")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedOrders") + ); $this->db->free($result); } else { diff --git a/htdocs/core/boxes/box_factures_imp.php b/htdocs/core/boxes/box_factures_imp.php index 0a44105a853..a374094ea89 100644 --- a/htdocs/core/boxes/box_factures_imp.php +++ b/htdocs/core/boxes/box_factures_imp.php @@ -180,7 +180,10 @@ class box_factures_imp extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoUnpaidCustomerBills")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoUnpaidCustomerBills") + ); $this->db->free($result); } diff --git a/htdocs/core/boxes/box_ficheinter.php b/htdocs/core/boxes/box_ficheinter.php index e289c83d541..4125ce92eaa 100644 --- a/htdocs/core/boxes/box_ficheinter.php +++ b/htdocs/core/boxes/box_ficheinter.php @@ -145,13 +145,16 @@ class box_ficheinter extends ModeleBoxes $i++; } - if ($num == 0) $this->info_box_contents[$i][] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedInterventions")); + if ($num == 0) $this->info_box_contents[$i][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedInterventions") + ); $this->db->free($resql); } else { - $this->info_box_contents[0][] = array( + $this->info_box_contents[0][0] = array( 'td' => '', 'maxlength'=>500, 'text' => ($this->db->error().' sql='.$sql), @@ -160,7 +163,7 @@ class box_ficheinter extends ModeleBoxes } else { - $this->info_box_contents[0][] = array( + $this->info_box_contents[0][0] = array( 'td' => 'class="nohover opacitymedium left"', 'text' => $langs->trans("ReadPermissionNotAllowed") ); diff --git a/htdocs/core/boxes/box_fournisseurs.php b/htdocs/core/boxes/box_fournisseurs.php index 2f55a379362..44dd891bfb8 100644 --- a/htdocs/core/boxes/box_fournisseurs.php +++ b/htdocs/core/boxes/box_fournisseurs.php @@ -136,7 +136,7 @@ class box_fournisseurs extends ModeleBoxes } if ($num == 0) $this->info_box_contents[$line][0] = array( - 'td' => 'class="center"', + 'td' => 'class="center opacitymedium"', 'text'=>$langs->trans("NoRecordedSuppliers"), ); diff --git a/htdocs/core/boxes/box_goodcustomers.php b/htdocs/core/boxes/box_goodcustomers.php index 79eb6f9ab8e..46dfdff6d23 100644 --- a/htdocs/core/boxes/box_goodcustomers.php +++ b/htdocs/core/boxes/box_goodcustomers.php @@ -142,7 +142,10 @@ class box_goodcustomers extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedCustomers")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedCustomers") + ); $this->db->free($result); } diff --git a/htdocs/core/boxes/box_mos.php b/htdocs/core/boxes/box_mos.php index 9b863aa2d5a..ec21d5d00cf 100644 --- a/htdocs/core/boxes/box_mos.php +++ b/htdocs/core/boxes/box_mos.php @@ -149,7 +149,10 @@ class box_mos extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedOrders")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedOrders") + ); $this->db->free($result); } else { diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php index 54ed1c76051..1024ef1d4ec 100644 --- a/htdocs/core/boxes/box_prospect.php +++ b/htdocs/core/boxes/box_prospect.php @@ -149,8 +149,8 @@ class box_prospect extends ModeleBoxes if ($num == 0) { $this->info_box_contents[$line][0] = array( - 'td' => 'class="center"', - 'text'=>$langs->trans("NoRecordedProspects"), + 'td' => 'class="center opacitymedium"', + 'text'=> $langs->trans("NoRecordedProspects"), ); } diff --git a/htdocs/core/boxes/box_services_contracts.php b/htdocs/core/boxes/box_services_contracts.php index f8e6dd22452..7167097672b 100644 --- a/htdocs/core/boxes/box_services_contracts.php +++ b/htdocs/core/boxes/box_services_contracts.php @@ -223,7 +223,10 @@ class box_services_contracts extends ModeleBoxes $i++; } - if ($num == 0) $this->info_box_contents[$i][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoContractedProducts")); + if ($num == 0) $this->info_box_contents[$i][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoContractedProducts") + ); $this->db->free($result); } diff --git a/htdocs/core/boxes/box_shipments.php b/htdocs/core/boxes/box_shipments.php index 26f45bc08db..278ad974cf5 100644 --- a/htdocs/core/boxes/box_shipments.php +++ b/htdocs/core/boxes/box_shipments.php @@ -158,7 +158,10 @@ class box_shipments extends ModeleBoxes $line++; } - if ($num == 0) $this->info_box_contents[$line][0] = array('td' => 'class="center"', 'text'=>$langs->trans("NoRecordedShipments")); + if ($num == 0) $this->info_box_contents[$line][0] = array( + 'td' => 'class="center opacitymedium"', + 'text'=>$langs->trans("NoRecordedShipments") + ); $this->db->free($result); } else { diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index e868934e55a..df80aab7a1f 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -170,12 +170,13 @@ abstract class CommonDocGenerator * * @param Societe $object Object * @param Translate $outputlangs Language object for output + * @param string $array_key Name of the key for return array * @return array Array of substitution key->code */ - public function get_substitutionarray_thirdparty($object, $outputlangs) + public function get_substitutionarray_thirdparty($object, $outputlangs, $array_key = 'company') { // phpcs:enable - global $conf; + global $conf, $extrafields; if (empty($object->country) && !empty($object->country_code)) { @@ -221,27 +222,13 @@ abstract class CommonDocGenerator 'company_default_bank_bic'=>$object->bank_account->bic ); - // Retrieve extrafields - if (is_array($object->array_options) && count($object->array_options)) - { - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $extrafields->fetch_name_optionals_label($object->table_element, true); - $object->fetch_optionals(); + // Retrieve extrafields + if (is_array($object->array_options) && count($object->array_options)) + { + $object->fetch_optionals(); - foreach ($extrafields->attributes[$object->table_element]['label'] as $key=>$label) - { - if ($extrafields->attributes[$object->table_element]['type'][$key] == 'price') - { - $object->array_options['options_'.$key] = price($object->array_options['options_'.$key], 0, $outputlangs, 0, 0, -1, $conf->currency); - } - elseif ($extrafields->attributes[$object->table_element]['type'][$key] == 'select' || $extrafields->attributes[$object->table_element]['type'][$key] == 'checkbox') - { - $object->array_options['options_'.$key] = $extrafields->attributes[$object->table_element]['param'][$key]['options'][$object->array_options['options_'.$key]]; - } - $array_thirdparty = array_merge($array_thirdparty, array('company_options_'.$key => $object->array_options ['options_'.$key])); - } - } + $array_thirdparty = $this->fill_substitutionarray_with_extrafields($object, $array_thirdparty, $extrafields, $array_key, $outputlangs); + } return $array_thirdparty; } @@ -251,13 +238,13 @@ abstract class CommonDocGenerator * * @param Contact $object contact * @param Translate $outputlangs object for output - * @param array $array_key Name of the key for return array + * @param string $array_key Name of the key for return array * @return array Array of substitution key->code */ public function get_substitutionarray_contact($object, $outputlangs, $array_key = 'object') { // phpcs:enable - global $conf; + global $conf, $extrafields; if (empty($object->country) && !empty($object->country_code)) { @@ -298,24 +285,13 @@ abstract class CommonDocGenerator $array_key.'_civility' => $object->civility, ); - // Retrieve extrafields - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $extrafields->fetch_name_optionals_label($object->table_element, true); - $object->fetch_optionals(); + // Retrieve extrafields + if (is_array($object->array_options) && count($object->array_options)) + { + $object->fetch_optionals(); - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $label) - { - if ($extrafields->attributes[$object->table_element]['type'][$key] == 'price') - { - $object->array_options['options_'.$key] = price($object->array_options ['options_'.$key], 0, $outputlangs, 0, 0, - 1, $conf->currency); - } - elseif ($extrafields->attributes[$object->table_element]['type'][$key] == 'select' || $extrafields->attributes[$object->table_element]['type'][$key] == 'checkbox') - { - $object->array_options['options_'.$key] = $extrafields->attributes[$object->table_element]['param'][$key]['options'][$object->array_options['options_'.$key]]; - } - $array_contact = array_merge($array_contact, array($array_key.'_options_'.$key => $object->array_options['options_'.$key])); - } + $array_contact = $this->fill_substitutionarray_with_extrafields($object, $array_contact, $extrafields, $array_key, $outputlangs); + } return $array_contact; } @@ -349,7 +325,7 @@ abstract class CommonDocGenerator foreach ($conf->global as $key => $val) { - if (preg_match('/(_pass|password|secret|_key|key$)/i', $key)) $newval = '*****forbidden*****'; + if (preg_match('/(_pass|_pw|password|secret|_key|key$)/i', $key)) $newval = '*****forbidden*****'; else $newval = $val; $array_other['__['.$key.']__'] = $newval; } @@ -370,7 +346,7 @@ abstract class CommonDocGenerator public function get_substitutionarray_object($object, $outputlangs, $array_key = 'object') { // phpcs:enable - global $conf; + global $conf, $extrafields; $sumpayed = $sumdeposit = $sumcreditnote = ''; $already_payed_all = 0; @@ -389,7 +365,7 @@ abstract class CommonDocGenerator $remain_to_pay = $sumpayed - $sumdeposit - $sumcreditnote; if ($object->fk_account > 0) { - require_once DOL_DOCUMENT_ROOT .'/compta/bank/class/account.class.php'; + require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $bank_account = new Account($this->db); $bank_account->fetch($object->fk_account); } @@ -528,11 +504,6 @@ abstract class CommonDocGenerator // Retrieve extrafields if (is_array($object->array_options) && count($object->array_options)) { - $extrafieldkey = $object->element; - - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $extrafields->fetch_name_optionals_label($extrafieldkey, true); $object->fetch_optionals(); $resarray = $this->fill_substitutionarray_with_extrafields($object, $resarray, $extrafields, $array_key, $outputlangs); @@ -605,7 +576,7 @@ abstract class CommonDocGenerator } // Retrieve extrafields - $extrafieldkey = $line->element; + $extrafieldkey = $line->table_element; $array_key = "line"; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; $extrafields = new ExtraFields($this->db); @@ -672,7 +643,7 @@ abstract class CommonDocGenerator public function get_substitutionarray_shipment($object, $outputlangs, $array_key = 'object') { // phpcs:enable - global $conf; + global $conf, $extrafields; dol_include_once('/core/lib/product.lib.php'); $object->list_delivery_methods($object->shipping_method_id); $calculatedVolume = ($object->trueWidth * $object->trueHeight * $object->trueDepth); @@ -708,16 +679,13 @@ abstract class CommonDocGenerator $array_shipment[$array_key.'_total_vat_'.$line->tva_tx] += $line->total_tva; } - // Retrieve extrafields - if (is_array($object->array_options) && count($object->array_options)) - { - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $extrafields->fetch_name_optionals_label('expedition', true); - $object->fetch_optionals(); + // Retrieve extrafields + if (is_array($object->array_options) && count($object->array_options)) + { + $object->fetch_optionals(); - $array_shipment = $this->fill_substitutionarray_with_extrafields($object, $array_shipment, $extrafields, $array_key, $outputlangs); - } + $array_shipment = $this->fill_substitutionarray_with_extrafields($object, $array_shipment, $extrafields, $array_key, $outputlangs); + } return $array_shipment; } @@ -1327,7 +1295,7 @@ abstract class CommonDocGenerator if (!empty($fields)) { // Sort extrafields by rank - uasort($fields, function($a, $b) { + uasort($fields, function ($a, $b) { return ($a->rank > $b->rank) ? -1 : 1; }); @@ -1466,6 +1434,7 @@ abstract class CommonDocGenerator // save curent cell padding $curentCellPaddinds = $pdf->getCellPaddings(); + // Add space for lines (more if we need to show a second alternative language) global $outputlangsbis; if (is_object($outputlangsbis)) { // set cell padding with column title definition @@ -1480,8 +1449,8 @@ abstract class CommonDocGenerator $textWidth = $colDef['width']; $pdf->MultiCell($textWidth, 2, $colDef['title']['label'], '', $colDef['title']['align']); - - if (is_object($outputlangsbis)) { + // Add variant of translation if $outputlangsbis is an object + if (is_object($outputlangsbis) && trim($colDef['title']['label'])) { $pdf->setCellPaddings($colDef['title']['padding'][3], 0, $colDef['title']['padding'][1], $colDef['title']['padding'][2]); $pdf->SetXY($colDef['xStartPos'], $pdf->GetY()); $textbis = $outputlangsbis->transnoentities($colDef['title']['textkey']); @@ -1495,6 +1464,7 @@ abstract class CommonDocGenerator } } } + return $this->tabTitleHeight; } diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 41a7107b8d9..6148b55a5cf 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -575,7 +575,7 @@ abstract class CommonObject { $return = '
    '; $return .= '
    '; - $return .= ''; + $return .= ''; $return .= ''; // Can be image $return .= ''; $return .= '
    '; @@ -667,7 +667,7 @@ abstract class CommonObject $namecoords .= $this->getFullName($langs, 1).'
    '.$coords; // hideonsmatphone because copyToClipboard call jquery dialog that does not work with jmobile $out .= ''; - $out .= img_picto($langs->trans("Address"), 'object_address.png'); + $out .= img_picto($langs->trans("Address"), 'map-marker-alt'); $out .= ' '; } $out .= dol_print_address($coords, 'address_'.$htmlkey.'_'.$this->id, $this->element, $this->id, 1, ', '); $outdone++; @@ -1359,7 +1359,7 @@ abstract class CommonObject } if ($conf->{$modulename}->enabled) { $libelle_element = $langs->trans('ContactDefault_'.$obj->element); - $transkey = "TypeContact_".$this->element."_".$source."_".$obj->code; + $transkey = "TypeContact_".$obj->element."_".$source."_".$obj->code; $libelle_type = ($langs->trans($transkey) != $transkey ? $langs->trans($transkey) : $obj->libelle); if (empty($option)) $tab[$obj->rowid] = $libelle_element.' - '.$libelle_type; @@ -2974,6 +2974,14 @@ abstract class CommonObject // phpcs:enable global $conf, $hookmanager, $action; + $parameters = array('exclspec' => $exclspec, 'roundingadjust' => $roundingadjust, 'nodatabaseupdate' => $nodatabaseupdate, 'seller' => $seller); + $reshook = $hookmanager->executeHooks('updateTotalPrice', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + return 1; // replacement code + } elseif ($reshook < 0) { + return -1; // failure + } // reshook = 0 => execute normal code + // Some external module want no update price after a trigger because they have another method to calculate the total (ex: with an extrafield) $MODULE = ""; if ($this->element == 'propal') @@ -3028,8 +3036,8 @@ abstract class CommonObject $sql = 'SELECT rowid, qty, '.$fieldup.' as up, remise_percent, total_ht, '.$fieldtva.' as total_tva, total_ttc, '.$fieldlocaltax1.' as total_localtax1, '.$fieldlocaltax2.' as total_localtax2,'; $sql .= ' tva_tx as vatrate, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, info_bits, product_type'; - if ($this->table_element_line == 'facturedet') $sql .= ', situation_percent'; - $sql .= ', multicurrency_total_ht, multicurrency_total_tva, multicurrency_total_ttc'; + if ($this->table_element_line == 'facturedet') $sql .= ', situation_percent'; + $sql .= ', multicurrency_total_ht, multicurrency_total_tva, multicurrency_total_ttc'; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line; $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; if ($exclspec) @@ -3068,18 +3076,23 @@ abstract class CommonObject if (empty($reshook) && $forcedroundingmode == '0') // Check if data on line are consistent. This may solve lines that were not consistent because set with $forcedroundingmode='auto' { + // This part of code is to fix data. We should not call it too often. $localtax_array = array($obj->localtax1_type, $obj->localtax1_tx, $obj->localtax2_type, $obj->localtax2_tx); $tmpcal = calcul_price_total($obj->qty, $obj->up, $obj->remise_percent, $obj->vatrate, $obj->localtax1_tx, $obj->localtax2_tx, 0, 'HT', $obj->info_bits, $obj->product_type, $seller, $localtax_array, (isset($obj->situation_percent) ? $obj->situation_percent : 100), $multicurrency_tx); - $diff = price2num($tmpcal[1] - $obj->total_tva, 'MT', 1); - if ($diff) + + $diff_when_using_price_ht = price2num($tmpcal[1] - $obj->total_tva, 'MT', 1); // If price was set with tax price adn unit price HT has a low number of digits, then we may have a diff on recalculation from unit price HT. + $diff_on_current_total = price2num($obj->total_ttc - $obj->total_ht - $obj->total_tva - $obj->total_localtax1 - $obj->total_localtax2, 'MT', 1); + //var_dump($obj->total_ht.' '.$obj->total_tva.' '.$obj->total_localtax1.' '.$obj->total_localtax2.' =? '.$obj->total_ttc); + //var_dump($diff_when_using_price_ht.' '.$diff_on_current_total); + + if ($diff_when_using_price_ht && $diff_on_current_total) { $sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".$tmpcal[1].", total_ttc = ".$tmpcal[2]." WHERE rowid = ".$obj->rowid; - dol_syslog('We found unconsistent data into detailed line (difference of '.$diff.') for line rowid = '.$obj->rowid." (total vat of line calculated=".$tmpcal[1].", database=".$obj->total_tva."). We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix); - $resqlfix = $this->db->query($sqlfix); - if (!$resqlfix) dol_print_error($this->db, 'Failed to update line'); - $obj->total_tva = $tmpcal[1]; - $obj->total_ttc = $tmpcal[2]; - // + dol_syslog('We found unconsistent data into detailed line (diff_when_using_price_ht = '.$diff_when_using_price_ht.' and diff_on_current_total = '.$diff_on_current_total.') for line rowid = '.$obj->rowid." (total vat of line calculated=".$tmpcal[1].", database=".$obj->total_tva."). We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix, LOG_WARNING); + $resqlfix = $this->db->query($sqlfix); + if (!$resqlfix) dol_print_error($this->db, 'Failed to update line'); + $obj->total_tva = $tmpcal[1]; + $obj->total_ttc = $tmpcal[2]; } } @@ -5230,6 +5243,25 @@ abstract class CommonObject /* Functions for extrafields */ + /** + * Function to make a fetch but set environment to avoid to load computed values before. + * + * @param int $id ID of object + * @return int >0 if OK, 0 if not found, <0 if KO + */ + public function fetchNoCompute($id) + { + global $conf; + + $savDisableCompute = $conf->disable_compute; + $conf->disable_compute = 1; + + $ret = $this->fetch($id); + + $conf->disable_compute = $savDisableCompute; + + return $ret; + } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** @@ -5244,7 +5276,7 @@ abstract class CommonObject public function fetch_optionals($rowid = null, $optionsArray = null) { // phpcs:enable - global $extrafields; + global $conf, $extrafields; if (empty($rowid)) $rowid = $this->id; if (empty($rowid)) $rowid = $this->rowid; @@ -5328,7 +5360,10 @@ abstract class CommonObject foreach ($tab as $key => $value) { if (!empty($extrafields) && !empty($extrafields->attributes[$this->table_element]['computed'][$key])) { - $this->array_options["options_".$key] = dol_eval($extrafields->attributes[$this->table_element]['computed'][$key], 1, 0); + //var_dump($conf->disable_compute); + if (empty($conf->disable_compute)) { + $this->array_options["options_".$key] = dol_eval($extrafields->attributes[$this->table_element]['computed'][$key], 1, 0); + } } } } @@ -5351,9 +5386,14 @@ abstract class CommonObject * Delete all extra fields values for the current object. * * @return int <0 if KO, >0 if OK + * @see deleteExtraLanguages(), insertExtraField(), updateExtraField(), setValueFrom() */ public function deleteExtraFields() { + global $conf; + + if (!empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; + $this->db->begin(); $table_element = $this->table_element; @@ -5383,18 +5423,18 @@ abstract class CommonObject * @param string $trigger If defined, call also the trigger (for example COMPANY_MODIFY) * @param User $userused Object user * @return int -1=error, O=did nothing, 1=OK - * @see insertExtraLanguages(), updateExtraField(), setValueFrom() + * @see insertExtraLanguages(), updateExtraField(), deleteExtraField(), setValueFrom() */ public function insertExtraFields($trigger = '', $userused = null) { global $conf, $langs, $user; + if (!empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; + if (empty($userused)) $userused = $user; $error = 0; - if (!empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; // For avoid conflicts if trigger used - if (!empty($this->array_options)) { // Check parameters @@ -5792,18 +5832,18 @@ abstract class CommonObject * @param string $trigger If defined, call also the trigger (for example COMPANY_MODIFY) * @param User $userused Object user * @return int -1=error, O=did nothing, 1=OK - * @see updateExtraLanguages(), setValueFrom(), insertExtraFields() + * @see updateExtraLanguages(), insertExtraFields(), deleteExtraFields(), setValueFrom() */ public function updateExtraField($key, $trigger = null, $userused = null) { global $conf, $langs, $user; + if (!empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; + if (empty($userused)) $userused = $user; $error = 0; - if (!empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; // For avoid conflicts if trigger used - if (!empty($this->array_options) && isset($this->array_options["options_".$key])) { // Check parameters @@ -7117,6 +7157,13 @@ abstract class CommonObject { $value = GETPOSTISSET($keyprefix.'options_'.$key.$keysuffix) ?price2num(GETPOST($keyprefix.'options_'.$key.$keysuffix, 'alpha', 3)) : $this->array_options['options_'.$key]; } + // HTML, select, integer and text add default value + if (in_array($extrafields->attributes[$this->table_element]['type'][$key], array('html', 'text', 'select', 'int'))) + { + if ($action == 'create') $value = $extrafields->attributes[$this->table_element]['default'][$key]; + else $value = $this->array_options['options_'.$key]; + } + $labeltoshow = $langs->trans($label); $helptoshow = $langs->trans($extrafields->attributes[$this->table_element]['help'][$key]); @@ -8023,7 +8070,10 @@ abstract class CommonObject { if (empty($id) && empty($ref) && empty($morewhere)) return -1; - $sql = 'SELECT '.$this->getFieldList(); + $fieldlist = $this->getFieldList(); + if (empty($fieldlist)) return 0; + + $sql = 'SELECT '.$fieldlist; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element; if (!empty($id)) $sql .= ' WHERE rowid = '.$id; @@ -8167,7 +8217,7 @@ abstract class CommonObject } // Update extrafield - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options) > 0) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -8328,7 +8378,7 @@ abstract class CommonObject if (empty($error)) { // Remove extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $tmpobjectline = new $tmpforobjectlineclass($this->db); $tmpobjectline->id = $idline; diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index 5a09dbfed29..f04e2da11ee 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -54,8 +54,8 @@ abstract class CommonObjectLine extends CommonObject * Returns the translation key from units dictionary. * A langs->trans() must be called on result to get translated value. * - * @param string $type Label type (long or short) - * @return string|int <0 if ko, label if ok + * @param string $type Label type (long or short). This can be a translation key. + * @return string|int <0 if ko, label if ok */ public function getLabelOfUnit($type = 'long') { diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index 7a0c46a39c4..dee4edc3298 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -48,6 +48,8 @@ class Conf //! To store if javascript/ajax is enabked public $use_javascript_ajax; + //! To store if javascript/ajax is enabked + public $disable_compute; //! Used to store current currency (ISO code like 'USD', 'EUR', ...) public $currency; //! Used to store current css (from theme) @@ -688,8 +690,6 @@ class Conf $this->global->AGENDA_DEFAULT_FILTER_TYPE = '0'; // 'AC_NON_AUTO' does not exists when AGENDA_DEFAULT_FILTER_TYPE is not on. } - if (!isset($this->global->MAIN_USE_OLD_TITLE_BUTTON)) $this->global->MAIN_USE_OLD_TITLE_BUTTON = 0; - if (!isset($this->global->MAIN_JS_GRAPH)) $this->global->MAIN_JS_GRAPH = 'chart'; // Use chart.js library if (empty($this->global->MAIN_MODULE_DOLISTORE_API_SRV)) $this->global->MAIN_MODULE_DOLISTORE_API_SRV = 'https://www.dolistore.com'; diff --git a/htdocs/core/class/cunits.class.php b/htdocs/core/class/cunits.class.php index 65baf0056e9..096ae47a7b8 100644 --- a/htdocs/core/class/cunits.class.php +++ b/htdocs/core/class/cunits.class.php @@ -147,7 +147,7 @@ class CUnits // extends CommonObject /** * Load object in memory from database * - * @param int $id Id object + * @param int $id Id of CUnit object to fetch (rowid) * @param string $code Code * @param string $short_label Short Label ('g', 'kg', ...) * @param string $unit_type Unit type ('size', 'surface', 'volume', 'weight', ...) @@ -168,7 +168,7 @@ class CUnits // extends CommonObject $sql .= " t.active"; $sql .= " FROM ".MAIN_DB_PREFIX."c_units as t"; $sql_where = array(); - if ($id) $sql_where[] = " t.id = ".$id; + if ($id) $sql_where[] = " t.rowid = ".$id; if ($unit_type) $sql_where[] = " t.unit_type = '".$this->db->escape($unit_type)."'"; if ($code) $sql_where[] = " t.code = '".$this->db->escape($code)."'"; if ($short_label) $sql_where[] = " t.short_label = '".$this->db->escape($short_label)."'"; @@ -386,4 +386,77 @@ class CUnits // extends CommonObject return 1; } } + + + /** + * Get unit from code + * @param string $code code of unit + * @param string $mode 0= id , short_label=Use short label as value, code=use code + * @return int <0 if KO, Id of code if OK + */ + public function getUnitFromCode($code, $mode = 'code') + { + + if($mode == 'short_label'){ + return dol_getIdFromCode($this->db, $code, 'c_units', 'short_label', 'rowid'); + } + elseif($mode == 'code'){ + return dol_getIdFromCode($this->db, $code, 'c_units', 'code', 'rowid'); + } + + return $code; + } + + /** + * Unit converter + * @param double $value value to convert + * @param int $fk_unit current unit id of value + * @param int $fk_new_unit the id of unit to convert in + * @return double + */ + public function unitConverter($value, $fk_unit, $fk_new_unit = 0) + { + $value = doubleval(price2num($value)); + $fk_unit = intval($fk_unit); + + // Calcul en unité de base + $scaleUnitPow = $this->scaleOfUnitPow($fk_unit); + + // convert to standard unit + $value = $value * $scaleUnitPow; + if($fk_new_unit !=0 ){ + // Calcul en unité de base + $scaleUnitPow = $this->scaleOfUnitPow($fk_new_unit); + if(!empty($scaleUnitPow)) + { + // convert to new unit + $value = $value / $scaleUnitPow; + } + } + return round($value, 2); + } + + + + /** + * get scale of unit factor + * @param $id int id of unit in dictionary + * @return float|int + */ + public function scaleOfUnitPow($id) + { + $base = 10; + // TODO : add base col into unit dictionary table + $unit = $this->db->getRow('SELECT scale, unit_type from '.MAIN_DB_PREFIX.'c_units WHERE rowid = '.intval($id)); + if($unit){ + // TODO : if base exist in unit dictionary table remove this convertion exception and update convertion infos in database exemple time hour currently scale 3600 will become scale 2 base 60 + if($unit->unit_type == 'time'){ + return doubleval($unit->scale); + } + + return pow($base, doubleval($unit->scale)); + } + + return 0; + } } diff --git a/htdocs/core/class/doleditor.class.php b/htdocs/core/class/doleditor.class.php index de5ef1f2e9f..d4ee7ccaced 100644 --- a/htdocs/core/class/doleditor.class.php +++ b/htdocs/core/class/doleditor.class.php @@ -96,7 +96,7 @@ class DolEditor $this->cols = (preg_match('/%/', $cols) ? $cols : max(40, $cols)); // If $cols is a percent, we keep it, otherwise, we take max $this->height = $height; $this->width = $width; - } + } } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index 8af46154223..551fe2b82c0 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -894,7 +894,15 @@ class DolGraph if ($i > $firstlot) $this->stringtoshow .= ', '."\n"; $color = sprintf("%02x%02x%02x", $this->datacolor[$i][0], $this->datacolor[$i][1], $this->datacolor[$i][2]); $this->stringtoshow .= '{ '; - if (!isset($this->type[$i]) || $this->type[$i] == 'bars') $this->stringtoshow .= 'bars: { lineWidth: 1, show: true, align: "'.($i == $firstlot ? 'center' : 'left').'", barWidth: 0.5 }, '; + if (! isset($this->type[$i]) || $this->type[$i] == 'bars') { + if($nblot == 3) { + if($i == $firstlot) $align = 'right'; + elseif($i == $firstlot + 1) $align = 'center'; + else $align = 'left'; + $this->stringtoshow .= 'bars: { lineWidth: 1, show: true, align: "'.$align.'", barWidth: 0.45 }, '; + } + else $this->stringtoshow.='bars: { lineWidth: 1, show: true, align: "'.($i==$firstlot?'center':'left').'", barWidth: 0.5 }, '; + } if (isset($this->type[$i]) && ($this->type[$i] == 'lines' || $this->type[$i] == 'linesnopoint')) $this->stringtoshow .= 'lines: { show: true, fill: false }, points: { show: '.($this->type[$i] == 'linesnopoint' ? 'false' : 'true').' }, '; $this->stringtoshow .= 'color: "#'.$color.'", label: "'.(isset($this->Legend[$i]) ? dol_escape_js($this->Legend[$i]) : '').'", data: d'.$i.' }'; $i++; diff --git a/htdocs/core/class/dolreceiptprinter.class.php b/htdocs/core/class/dolreceiptprinter.class.php index 7c5f72e12c6..f921e8ad638 100644 --- a/htdocs/core/class/dolreceiptprinter.class.php +++ b/htdocs/core/class/dolreceiptprinter.class.php @@ -732,7 +732,7 @@ class dolReceiptPrinter extends Printer break; case 'DOL_PRINT_ORDER_LINES': foreach ($object->lines as $line) { - if ($line->special_code==$this->orderprinter) + if ($line->special_code == $this->orderprinter) { $spacestoadd = $nbcharactbyline - strlen($line->ref) - strlen($line->qty) - 10 - 1; $spaces = str_repeat(' ', $spacestoadd); diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index a5c6e74733c..18dd686367b 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1671,7 +1671,8 @@ class ExtraFields } elseif ($type == 'price') { - $value = price($value, 0, $langs, 0, 0, -1, $conf->currency); + //$value = price($value, 0, $langs, 0, 0, -1, $conf->currency); + if ($value || $value == '0') $value = price($value, 0, $langs, 0, 0, -1); } elseif ($type == 'select') { diff --git a/htdocs/core/class/extralanguages.class.php b/htdocs/core/class/extralanguages.class.php index 8f61e84839c..71a6fa8c1aa 100644 --- a/htdocs/core/class/extralanguages.class.php +++ b/htdocs/core/class/extralanguages.class.php @@ -69,7 +69,9 @@ class ExtraLanguages // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Load array this->attributes + * Load array this->attributes with list of fields per object that need an alternate translation. + * You can set variable MAIN_USE_ALTERNATE_TRANSLATION_FOR=elementA:fieldname,fieldname2;elementB:... + * Example: MAIN_USE_ALTERNATE_TRANSLATION_FOR=societe:name,town;contact:firstname,lastname * * @param string $elementtype Type of element ('' = all, 'adherent', 'commande', 'thirdparty', 'facture', 'propal', 'product', ...). * @param boolean $forceload Force load of extra fields whatever is status of cache. @@ -86,11 +88,25 @@ class ExtraLanguages if ($elementtype == 'contact') $elementtype = 'socpeople'; if ($elementtype == 'order_supplier') $elementtype = 'commande_fournisseur'; - $array_name_label = array( - 'societe' => array('name'=>'Name'), - 'contact' => array('firstname' => 'Firstname', 'lastname' => 'Lastname') - ); + $array_name_label = array(); + if (!empty($conf->global->MAIN_USE_ALTERNATE_TRANSLATION_FOR)) { + $tmpelement = explode(';', $conf->global->MAIN_USE_ALTERNATE_TRANSLATION_FOR); + foreach ($tmpelement as $elementstring) { + $reg = array(); + preg_match('/^(.*):(.*)$/', $elementstring, $reg); + $element = $reg[1]; + $array_name_label[$element] = array(); + $tmpfields = explode(',', $reg[2]); + foreach ($tmpfields as $field) { + //var_dump($fields); + //$tmpkeyvar = explode(':', $fields); + //$array_name_label[$element][$tmpkeyvar[0]] = $tmpkeyvar[1]; + $array_name_label[$element][$field] = $field; + } + } + } + //var_dump($array_name_label); $this->attributes = $array_name_label; return $array_name_label; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 9a8ade00367..32abc8f7240 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -348,6 +348,7 @@ class Form return ''; // No extralang field to show } + $result .= ''."\n"; $result .= '
    '; $s = img_picto($langs->trans("ShowOtherLanguages"), 'language', '', false, 0, 0, '', 'fa-15 editfieldlang'); $result .= $s; @@ -664,16 +665,18 @@ class Form * @param string $selected Value auto selected when at least one record is selected. Not a preselected value. Use '0' by default. * @param array $arrayofaction array('code'=>'label', ...). The code is the key stored into the GETPOST('massaction') when submitting action. * @param int $alwaysvisible 1=select button always visible + * @param string $name Name for massaction + * @param string $cssclass CSS class used to check for select * @return string|void Select list */ - public function selectMassAction($selected, $arrayofaction, $alwaysvisible = 0) + public function selectMassAction($selected, $arrayofaction, $alwaysvisible = 0, $name = 'massaction', $cssclass = 'checkforselect') { global $conf, $langs, $hookmanager; $disabled = 0; $ret = '
    '; - $ret .= ''; // Complete list with data from external modules. THe module can use $_SERVER['PHP_SELF'] to know on which page we are, or use the $parameters['currentcontext'] completed by executeHooks. $parameters = array(); @@ -692,46 +695,46 @@ class Form $ret .= ''; - if (empty($conf->dol_optimize_smallscreen)) $ret .= ajax_combobox('.massactionselect'); + if (empty($conf->dol_optimize_smallscreen)) $ret .= ajax_combobox('.' . $name . 'select'); // Warning: if you set submit button to disabled, post using 'Enter' will no more work if there is no another input submit. So we add a hidden button $ret .= ''; // Hidden button BEFORE so it is the one used when we submit with ENTER. - $ret .= ''; + $ret .= ''; $ret .= '
    '; if (!empty($conf->use_javascript_ajax)) { $ret .= ' '."\n"; $out .= ''; - $out .= ''.($revertonoff ?img_picto($langs->trans("Enabled"), 'switch_on', '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Disabled"), 'switch_off', '', false, 0, 0, '', '', $marginleftonlyshort)).''; - $out .= ''.($revertonoff ?img_picto($langs->trans("Disabled"), 'switch_off', '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Enabled"), 'switch_on', '', false, 0, 0, '', '', $marginleftonlyshort)).''; + $out .= ''.($revertonoff ?img_picto($langs->trans("Enabled"), 'switch_on', '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Disabled"), 'switch_off', '', false, 0, 0, '', '', $marginleftonlyshort)).''; + $out .= ''.($revertonoff ?img_picto($langs->trans("Disabled"), 'switch_off', '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Enabled"), 'switch_on', '', false, 0, 0, '', '', $marginleftonlyshort)).''; $out .= "\n"; } diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 25061e60f9c..17597c41c38 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -174,7 +174,7 @@ function societe_prepare_head(Societe $object) } // Related items - if ((!empty($conf->commande->enabled) || !empty($conf->propal->enabled) || !empty($conf->facture->enabled) || !empty($conf->ficheinter->enabled) || !empty($conf->fournisseur->enabled)) + if ((!empty($conf->commande->enabled) || !empty($conf->propal->enabled) || !empty($conf->facture->enabled) || !empty($conf->ficheinter->enabled) || !empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && empty($conf->global->THIRPARTIES_DISABLE_RELATED_OBJECT_TAB)) { $head[$h][0] = DOL_URL_ROOT.'/societe/consumption.php?socid='.$object->id; diff --git a/htdocs/core/lib/contact.lib.php b/htdocs/core/lib/contact.lib.php index 8edc81d7ee7..901a5992494 100644 --- a/htdocs/core/lib/contact.lib.php +++ b/htdocs/core/lib/contact.lib.php @@ -59,7 +59,7 @@ function contact_prepare_head(Contact $object) $tab++; // Related items - if (!empty($conf->commande->enabled) || !empty($conf->propal->enabled) || !empty($conf->facture->enabled) || !empty($conf->ficheinter->enabled) || !empty($conf->fournisseur->enabled)) + if (! empty($conf->commande->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->facture->enabled) || ! empty($conf->ficheinter->enabled) || !empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { $head[$tab][0] = DOL_URL_ROOT.'/contact/consumption.php?id='.$object->id; $head[$tab][1] = $langs->trans("Referers"); diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 8128a449cfd..33ad0a85229 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -107,7 +107,7 @@ function dol_print_cron_urls() print ''.$langs->trans("FileToLaunchCronJobs").':
    '; - $file = '/scripts/cron/cron_run_jobs.php'.' '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY.'').' '.$logintouse.' [cronjobid]'; + $file = '/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY.'').' '.$logintouse.' [cronjobid]'; print '
    \n"; print '
    '; diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 4baf2aa0232..b44d7260e97 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -301,7 +301,7 @@ function dolSqlDateFilter($datefield, $day_date, $month_date, $year_date, $exclu $sqldate .= ($excludefirstand ? "" : " AND ").$datefield." BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_date, $day_date, $year_date)); $sqldate .= "' AND '".$db->idate(dol_mktime(23, 59, 59, $month_date, $day_date, $year_date))."'"; } else - $sqldate .= ($excludefirstand ? "" : " AND ")." date_format( ".$datefield.", '%m') = '".$db->escape($month_date)."'"; + $sqldate .= ($excludefirstand ? "" : " AND ")." date_format( ".$datefield.", '%c') = '".$db->escape($month_date)."'"; } elseif ($year_date > 0) { $sqldate .= ($excludefirstand ? "" : " AND ").$datefield." BETWEEN '".$db->idate(dol_get_first_day($year_date, 1, false)); $sqldate .= "' AND '".$db->idate(dol_get_last_day($year_date, 12, false))."'"; @@ -896,6 +896,7 @@ function num_open_day($timestampStart, $timestampEnd, $inhour = 0, $lastday = 0, if ($timestampStart < $timestampEnd) { $numdays = num_between_day($timestampStart, $timestampEnd, $lastday); + $numholidays = num_public_holiday($timestampStart, $timestampEnd, $country_code, $lastday); $nbOpenDay = ($numdays - $numholidays); if ($inhour == 1 && $nbOpenDay <= 3) $nbOpenDay = ($nbOpenDay * 24); @@ -903,7 +904,14 @@ function num_open_day($timestampStart, $timestampEnd, $inhour = 0, $lastday = 0, } elseif ($timestampStart == $timestampEnd) { + $numholidays = 0; + if ($lastday) { + $numholidays = num_public_holiday($timestampStart, $timestampEnd, $country_code, $lastday); + if ($numholidays == 1) return 0; + } + $nbOpenDay = $lastday; + if ($inhour == 1) $nbOpenDay = ($nbOpenDay * 24); return $nbOpenDay - (($inhour == 1 ? 12 : 0.5) * abs($halfday)); } diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 9746c1047b8..dbea182fb9b 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -720,10 +720,11 @@ function dol_copy($srcfile, $destfile, $newmask = 0, $overwriteifexists = 1) * @param int $newmask Mask for new file (0 by default means $conf->global->MAIN_UMASK). Example: '0666' * @param int $overwriteifexists Overwrite file if exists (1 by default) * @param array $arrayreplacement Array to use to replace filenames with another one during the copy (works only on file names, not on directory names). + * @param int $excludesubdir 0=Do not exclude subdirectories, 1=Exclude subdirectories, 2=Exclude subdirectories if name is not a 2 chars (used for country codes subdirectories). * @return int <0 if error, 0 if nothing done (all files already exists and overwriteifexists=0), >0 if OK * @see dol_copy() */ -function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists, $arrayreplacement = null) +function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists, $arrayreplacement = null, $excludesubdir = 0) { global $conf; @@ -759,8 +760,19 @@ function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists, $arrayrep { if (is_dir($ossrcfile."/".$file)) { - //var_dump("xxx dolCopyDir $srcfile/$file, $destfile/$file, $newmask, $overwriteifexists"); - $tmpresult = dolCopyDir($srcfile."/".$file, $destfile."/".$file, $newmask, $overwriteifexists, $arrayreplacement); + if (empty($excludesubdir) || ($excludesubdir == 2 && strlen($file) == 2)) { + $newfile = $file; + // Replace destination filename with a new one + if (is_array($arrayreplacement)) + { + foreach ($arrayreplacement as $key => $val) + { + $newfile = str_replace($key, $val, $newfile); + } + } + //var_dump("xxx dolCopyDir $srcfile/$file, $destfile/$file, $newmask, $overwriteifexists"); + $tmpresult = dolCopyDir($srcfile."/".$file, $destfile."/".$newfile, $newmask, $overwriteifexists, $arrayreplacement, $excludesubdir); + } } else { @@ -960,18 +972,18 @@ function dol_unescapefile($filename) */ function dolCheckVirus($src_file) { - global $conf, $db; + global $conf; if (!empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) { if (!class_exists('AntiVir')) { require_once DOL_DOCUMENT_ROOT.'/core/class/antivir.class.php'; } - $antivir = new AntiVir($db); + $antivir=new AntiVir($db); $result = $antivir->dol_avscan_file($src_file); if ($result < 0) // If virus or error, we stop here { - $reterrors = $antivir->errors; + $reterrors=$antivir->errors; return $reterrors; } } @@ -1853,6 +1865,7 @@ function dol_convert_file($fileinput, $ext = 'png', $fileoutput = '', $page = '' if (empty($fileoutput)) $fileoutput = $fileinput.".".$ext; $count = $image->getNumberImages(); + if (!dol_is_file($fileoutput) || is_writeable($fileoutput)) { try { @@ -2419,7 +2432,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $original_file = $conf->agenda->dir_output.'/'.$original_file; } // Wrapping for categories - elseif ($modulepart == 'category' && !empty($conf->categorie->dir_output)) + elseif ($modulepart == 'category' && !empty($conf->categorie->multidir_output[$entity])) { if (empty($entity) || empty($conf->categorie->multidir_output[$entity])) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if ($fuser->rights->categorie->{$lire}) $accessallowed = 1; @@ -2489,7 +2502,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for third parties - elseif (($modulepart == 'company' || $modulepart == 'societe' || $modulepart == 'thirdparty') && !empty($conf->societe->dir_output)) + elseif (($modulepart == 'company' || $modulepart == 'societe' || $modulepart == 'thirdparty') && !empty($conf->societe->multidir_output[$entity])) { if (empty($entity) || empty($conf->societe->multidir_output[$entity])) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if ($fuser->rights->societe->{$lire} || preg_match('/^specimen/i', $original_file)) @@ -2501,7 +2514,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for contact - elseif ($modulepart == 'contact' && !empty($conf->societe->dir_output)) + elseif ($modulepart == 'contact' && !empty($conf->societe->multidir_output[$entity])) { if (empty($entity) || empty($conf->societe->multidir_output[$entity])) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if ($fuser->rights->societe->{$lire}) @@ -2519,7 +2532,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $accessallowed = 1; } $original_file = $conf->facture->multidir_output[$entity].'/'.$original_file; - $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."facture WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; + $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."facture WHERE ref='".$db->escape($refname)."' AND entity IN (".getEntity('invoice').")"; } // Wrapping for mass actions elseif ($modulepart == 'massfilesarea_proposals' && !empty($conf->propal->multidir_output[$entity])) @@ -2632,7 +2645,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $accessallowed = 1; } $original_file = $conf->propal->multidir_output[$entity].'/'.$original_file; - $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."propal WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; + $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."propal WHERE ref='".$db->escape($refname)."' AND entity IN (".getEntity('propal').")"; } // Wrapping pour les commandes @@ -2643,7 +2656,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $accessallowed = 1; } $original_file = $conf->commande->multidir_output[$entity].'/'.$original_file; - $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."commande WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; + $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."commande WHERE ref='".$db->escape($refname)."' AND entity IN (".getEntity('order').")"; } // Wrapping pour les projets diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 0424ee54ee1..878b85993b5 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -1078,6 +1078,13 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename = // If syslog module enabled if (empty($conf->syslog->enabled)) return; + // Check if we are into execution of code of a website + if (defined('USEEXTERNALSERVER') && ! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { + global $website, $websitekey; + if (is_object($website) && ! empty($website->ref)) $suffixinfilename.='_website_'.$website->ref; + elseif (! empty($websitekey)) $suffixinfilename.='_website_'.$websitekey; + } + if ($ident < 0) { foreach ($conf->loghandlers as $loghandlerinstance) @@ -3141,22 +3148,30 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ if (empty($srconly) && in_array($pictowithouttext, array( '1downarrow', '1uparrow', '1leftarrow', '1rightarrow', '1uparrow_selected', '1downarrow_selected', '1leftarrow_selected', '1rightarrow_selected', - 'address', 'bank_account', 'barcode', 'bank', 'bookmark', 'bom', 'building', 'cash-register', 'check', 'close_title', 'company', 'contact', 'cubes', - 'delete', 'dolly', 'edit', 'ellipsis-h', 'external-link-alt', 'external-link-square-alt', - 'filter', 'file-code', 'file-export', 'file-import', 'file-upload', 'folder', 'folder-open', 'grip', 'grip_title', 'help', 'language', 'list', 'listlight', 'lot', 'mrp', 'note', 'stock', - 'object_accounting', 'object_action', 'object_account', 'object_barcode', 'object_bom', - 'object_category', 'object_bookmark', 'object_bug', 'object_generic', 'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser', - 'object_cash-register', 'object_company', 'object_contact', 'object_contract', 'object_dynamicprice', - 'object_holiday', 'object_hrm', 'object_multicurrency', 'object_payment', - 'object_lot', 'object_mrp', 'object_product', 'object_service', 'object_stock', - 'object_paragraph', 'object_printer', 'object_resource', 'object_rss', 'object_technic', 'object_ticket', 'object_trip', 'object_user', 'object_group', 'object_member', 'object_other', - 'object_phoning', 'object_phoning_fax', 'object_email', - 'off', 'on', 'paiment', 'play', 'playdisabled', 'printer', 'product', 'resize', 'service', 'stats', 'trip', - 'note', 'setup', 'sign-out', 'split', 'switch_off', 'switch_on', 'tools', 'unlink', 'uparrow', 'user', 'wrench', 'globe', + 'accountancy', 'address', 'bank_account', 'barcode', 'bank', 'bill', 'bookmark', 'bom', 'building', + 'cash-register', 'category', 'check', 'close_title', 'company', 'contact', 'contract', 'cubes', + 'delete', 'dolly', 'dollyrevert', 'edit', 'ellipsis-h', 'external-link-alt', 'external-link-square-alt', + 'filter', 'file-code', 'file-export', 'file-import', 'file-upload', 'folder', 'folder-open', 'globe', 'globe-americas', 'grip', 'grip_title', 'help', + 'intervention', 'label', 'language', 'list', 'listlight', 'lot', + 'map-marker-alt', 'money-bill-alt', 'mrp', 'note', + 'object_accounting', 'object_action', 'object_account', 'object_barcode', 'object_bill', 'object_billa', 'object_billd', 'object_bom', + 'object_category', 'object_conversation', 'object_bookmark', 'object_bug', 'object_dolly', 'object_dollyrevert', 'object_generic', 'object_folder', + 'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser', + 'object_cash-register', 'object_company', 'object_contact', 'object_contract', 'object_donation', 'object_dynamicprice', + 'object_globe', 'object_holiday', 'object_hrm', 'object_invoice', 'object_intervention', 'object_label', + 'object_margin', 'object_money-bill-alt', 'object_multicurrency', 'object_order', 'object_payment', + 'object_lot', 'object_mrp', 'object_payment', 'object_product', 'object_propal', + 'object_other', 'object_paragraph', 'object_poll', 'object_printer', 'object_project', 'object_projectpub', 'object_propal', 'object_resource', 'object_rss', 'object_projecttask', + 'object_shipment', 'object_supplier_invoice', 'object_supplier_order', 'object_supplier_proposal', 'object_service', 'object_stock', + 'object_technic', 'object_ticket', 'object_trip', 'object_user', 'object_group', 'object_member', + 'object_phoning', 'object_phoning_mobile', 'object_phoning_fax', 'object_email', 'object_website', + 'off', 'on', 'order', + 'paiment', 'play', 'playdisabled', 'poll', 'printer', 'product', 'propal', 'projecttask', 'stock', 'resize', 'service', 'stats', 'trip', + 'setup', 'sign-out', 'split', 'switch_off', 'switch_on', 'tools', 'unlink', 'uparrow', 'user', 'wrench', 'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g', 'whatsapp', 'chevron-left', 'chevron-right', 'chevron-down', 'chevron-top', - 'home', 'companies', 'products', 'commercial', 'invoicing', 'accountancy', 'preview', 'project', 'hrm', 'members', 'ticket', 'generic', - 'error', 'warning', + 'home', 'companies', 'products', 'commercial', 'invoicing', 'preview', 'project', 'projectpub', 'supplier_invoice', 'hrm', 'members', 'ticket', 'generic', + 'error', 'warning', 'supplier_proposal', 'supplier_order', 'supplier_invoice', 'title_setup', 'title_accountancy', 'title_bank', 'title_hrm', 'title_agenda' ) )) { @@ -3173,27 +3188,33 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ $pictowithouttext = str_replace('object_', '', $pictowithouttext); $arrayconvpictotofa = array( - 'account'=>'university', 'action'=>'calendar-alt', 'address'=> 'address-book', 'bank_account'=>'university', 'bom'=>'cubes', - 'company'=>'building', 'contact'=>'address-book', 'contract'=>'suitcase', 'dynamicprice'=>'hand-holding-usd', - 'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins', 'accountancy'=>'money-check-alt', - 'accounting'=>'chart-line', 'category'=>'tag', - 'hrm'=>'umbrella-beach', 'members'=>'users', 'ticket'=>'ticket-alt', 'globe'=>'external-link-alt', 'lot'=>'barcode', + 'account'=>'university', 'accountancy'=>'money-check-alt', 'action'=>'calendar-alt', 'address'=> 'address-book', + 'bank_account'=>'university', 'bill'=>'file-invoice-dollar', 'billa'=>'file-excel', 'billd'=>'file-medical', 'bom'=>'cubes', + 'company'=>'building', 'contact'=>'address-book', 'contract'=>'suitcase', 'conversation'=>'comments', 'donation'=>'file-alt', 'dynamicprice'=>'hand-holding-usd', + 'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins', + 'accounting'=>'chart-line', 'category'=>'tag', 'dollyrevert'=>'dolly', + 'hrm'=>'umbrella-beach', 'margin'=>'calculator', 'members'=>'users', 'ticket'=>'ticket-alt', 'globe'=>'external-link-alt', 'lot'=>'barcode', 'email'=>'at', 'edit'=>'pencil-alt', 'grip_title'=>'arrows-alt', 'grip'=>'arrows-alt', 'help'=>'info-circle', - 'generic'=>'file', 'holiday'=>'umbrella-beach', 'member'=>'users', 'mrp'=>'cubes', 'trip'=>'wallet', 'group'=>'users', + 'generic'=>'file', 'holiday'=>'umbrella-beach', 'label'=>'layer-group', + 'member'=>'users', 'mrp'=>'cubes', 'trip'=>'wallet', 'group'=>'users', 'sign-out'=>'sign-out-alt', - 'switch_off'=>'toggle-off', 'switch_on'=>'toggle-on', 'check'=>'check', 'bookmark'=>'star', 'bookmark'=>'star', 'stats' => 'chart-bar', - 'bank'=>'university', 'close_title'=>'window-close', 'delete'=>'trash', 'edit'=>'pencil-alt', 'filter'=>'filter', 'split'=>'code-branch', + 'switch_off'=>'toggle-off', 'switch_on'=>'toggle-on', 'check'=>'check', 'bookmark'=>'star', 'bookmark'=>'star', + 'bank'=>'university', 'close_title'=>'window-close', 'delete'=>'trash', 'edit'=>'pencil-alt', 'filter'=>'filter', 'list-alt'=>'list-alt', 'calendar'=>'calendar-alt', 'calendarweek'=>'calendar-week', 'calendarmonth'=>'calendar-alt', 'calendarday'=>'calendar-day', 'calendarperuser'=>'table', - 'multicurrency'=>'dollar-sign', 'other'=>'square', 'resource'=>'laptop-house', + 'intervention'=>'ambulance', 'invoice'=>'file-invoice-dollar', 'multicurrency'=>'dollar-sign', 'order'=>'file-invoice', 'error'=>'exclamation-triangle', 'warning'=>'exclamation-triangle', - 'payment'=>'money-bill-alt', 'phoning'=>'phone', 'phoning_fax'=>'fax', 'printer'=>'print', 'product'=>'cube', 'service'=>'concierge-bell', - 'stock'=>'box-open', 'technic'=>'cogs', 'ticket'=>'ticket-alt', + 'other'=>'square', + 'playdisabled'=>'play', 'poll'=>'check-double', 'preview'=>'binoculars', 'project'=>'sitemap', 'projectpub'=>'sitemap', 'projecttask'=>'tasks', 'propal'=>'file-signature', + 'resize'=>'crop', 'supplier_order'=>'dol-order_supplier', 'supplier_proposal'=>'file-signature', + 'payment'=>'money-check-alt', 'phoning'=>'phone', 'phoning_mobile'=>'mobile-alt', 'phoning_fax'=>'fax', 'printer'=>'print', 'product'=>'cube', 'service'=>'concierge-bell', + 'resource'=>'laptop-house', + 'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'supplier_invoice'=>'file-invoice-dollar', 'technic'=>'cogs', 'ticket'=>'ticket-alt', 'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach', 'title_agenda'=>'calendar-alt', - 'playdisabled'=>'play', 'preview'=>'binoculars', 'project'=>'sitemap', 'resize'=>'crop', 'uparrow'=>'mail-forward', - 'jabber'=>'comment-o' + 'jabber'=>'comment-o', + 'website'=>'globe-americas' ); if ($pictowithouttext == 'off') { $fakey = 'fa-square'; @@ -3241,15 +3262,22 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ // Add CSS $arrayconvpictotomorcess = array( - 'action'=>'bg-infoxbox-action', 'account'=>'bg-infoxbox-bank_account', 'bank_account'=>'bg-infoxbox-bank_account', 'cash-register'=>'bg-infoxbox-bank_account', - 'contract'=>'bg-infoxbox-contrat', - 'multicurrency'=>'bg-infoxbox-bank_account', - 'check'=>'font-status4', - 'hrm'=>'bg-infoxbox-adherent', 'group'=>'bg-infoxbox-adherent', - 'members'=>'bg-infoxbox-adherent', 'member'=>'bg-infoxbox-adherent', 'user'=>'bg-infoxbox-adherent', 'users'=>'bg-infoxbox-adherent', + 'action'=>'bg-infobox-action', 'account'=>'bg-infobox-bank_account', 'accountancy'=>'bg-infobox-bank_account', + 'bank_account'=>'bg-infobox-bank_account', 'bill'=>'bg-infobox-commande', 'billa'=>'bg-infobox-commande', 'billd'=>'bg-infobox-commande', + 'cash-register'=>'bg-infobox-bank_account', 'contract'=>'bg-infobox-contrat', 'check'=>'font-status4', 'conversation'=>'bg-infobox-contrat', + 'donation'=>'bg-infobox-commande', 'dollyrevert'=>'flip', 'ecm'=>'bg-infobox-action', + 'hrm'=>'bg-infobox-adherent', 'group'=>'bg-infobox-adherent', 'intervention'=>'bg-infobox-contrat', + 'multicurrency'=>'bg-infobox-bank_account', + 'members'=>'bg-infobox-adherent', 'member'=>'bg-infobox-adherent', 'money-bill-alt'=>'bg-infobox-bank_account', + 'order'=>'bg-infobox-commande', + 'user'=>'bg-infobox-adherent', 'users'=>'bg-infobox-adherent', 'error'=>'pictoerror', 'warning'=>'pictowarning', 'switch_on'=>'font-status4', - 'holiday'=>'bg-infoxbox-holiday', 'payment'=>'bg-infoxbox-bank_account', 'project'=>'bg-infoxbox-project', 'resource'=>'bg-infoxbox-action', - 'ticket'=>'bg-infoxbox-contrat', 'title_hrm'=>'bg-infoxbox-holiday', 'trip'=>'bg-infoxbox-expensereport', 'title_agenda'=>'bg-infoxbox-action', + 'holiday'=>'bg-infobox-holiday', 'invoice'=>'bg-infobox-commande', + 'payment'=>'bg-infobox-bank_account', 'poll'=>'bg-infobox-adherent', 'project'=>'bg-infobox-project', 'projecttask'=>'bg-infobox-project', 'propal'=>'bg-infobox-propal', + 'resource'=>'bg-infobox-action', + 'supplier_invoice'=>'bg-infobox-order_supplier', 'supplier_order'=>'bg-infobox-order_supplier', 'supplier_proposal'=>'bg-infobox-supplier_proposal', + 'ticket'=>'bg-infobox-contrat', 'title_accountancy'=>'bg-infobox-bank_account', 'title_hrm'=>'bg-infobox-holiday', 'trip'=>'bg-infobox-expensereport', 'title_agenda'=>'bg-infobox-action', + //'title_setup'=>'bg-infobox-action', 'tools'=>'bg-infobox-action', 'list-alt'=>'imgforviewmode', 'calendar'=>'imgforviewmode', 'calendarweek'=>'imgforviewmode', 'calendarmonth'=>'imgforviewmode', 'calendarday'=>'imgforviewmode', 'calendarperuser'=>'imgforviewmode' ); if (!empty($arrayconvpictotomorcess[$pictowithouttext])) { @@ -3261,10 +3289,12 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ 'address'=>'#37a', 'building'=>'#37a', 'bom'=>'#a69944', 'companies'=>'#37a', 'company'=>'#37a', 'contact'=>'#37a', 'dynamicprice'=>'#a69944', 'edit'=>'#444', 'note'=>'#999', 'error'=>'', 'listlight'=>'#999', - 'lot'=>'#a69944', 'mrp'=>'#a69944', 'product'=>'#a69944', 'service'=>'#a69944', 'stock'=>'#a69944', + 'dolly'=>'#a69944', 'dollyrevert'=>'#a69944', 'lot'=>'#a69944', + 'map-marker-alt'=>'#aaa', 'mrp'=>'#a69944', 'product'=>'#a69944', 'service'=>'#a69944', 'stock'=>'#a69944', 'other'=>'#ddd', - 'playdisabled'=>'#ccc', 'printer'=>'#444', 'resize'=>'#444', 'rss'=>'#cba', - 'stats'=>'#444', 'switch_off'=>'#999', 'uparrow'=>'#555', 'warning'=>'' + 'playdisabled'=>'#ccc', 'printer'=>'#444', 'projectpub'=>'#986c6a', 'resize'=>'#444', 'rss'=>'#cba', + 'shipment'=>'#a69944', 'stats'=>'#444', 'switch_off'=>'#999', 'uparrow'=>'#555', 'globe-americas'=>'#aaa', + 'website'=>'#304' ); if (isset($arrayconvpictotocolor[$pictowithouttext])) { $facolor = $arrayconvpictotocolor[$pictowithouttext]; @@ -3349,11 +3379,12 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ * @param int $srconly Return only content of the src attribute of img. * @param int $notitle 1=Disable tag title. Use it if you add js tooltip, to avoid duplicate tooltip. * @return string Return img tag - * @see #img_picto, #img_picto_common + * @see img_picto(), img_picto_common() */ function img_object($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $srconly = 0, $notitle = 0) { - return img_picto($titlealt, 'object_'.$picto, $moreatt, $pictoisfullpath, $srconly, $notitle); + if (strpos($picto, '^') === 0) return img_picto($titlealt, str_replace('^', '', $picto), $moreatt, $pictoisfullpath, $srconly, $notitle); + else return img_picto($titlealt, 'object_'.$picto, $moreatt, $pictoisfullpath, $srconly, $notitle); } /** @@ -3365,7 +3396,7 @@ function img_object($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, * @param int $pictoisfullpath If 1, image path is a full path * @param string $morecss More CSS * @return string Return img tag - * @see #img_object, #img_picto + * @see img_object(), img_picto() */ function img_weather($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0, $morecss = '') { @@ -3392,7 +3423,7 @@ function img_weather($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0, $mo * @param string $moreatt Add more attribute on img tag * @param int $pictoisfullpath If 1, image path is a full path * @return string Return img tag - * @see #img_object, #img_picto + * @see img_object(), img_picto() */ function img_picto_common($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0) { @@ -4494,15 +4525,17 @@ function print_fleche_navigation($page, $file, $options = '', $nextpage = 0, $be } if ($page > 0) { - print ''; + print ''; } if ($betweenarrows) { + print ''; print $betweenarrows; + print ''; } if ($nextpage > 0) { - print ''; + print ''; } if ($afterarrows) { @@ -4632,7 +4665,7 @@ function price($amount, $form = 0, $outlangs = '', $trunc = 1, $rounding = -1, $ { if ($currency_code == 'auto') $currency_code = $conf->currency; - $listofcurrenciesbefore = array('USD', 'GBP', 'AUD', 'HKD', 'MXN', 'PEN', 'CNY', 'CAD'); + $listofcurrenciesbefore = array('AUD', 'CAD', 'CNY', 'COP', 'CLP', 'GBP', 'HKD', 'MXN', 'PEN', 'USD'); $listoflanguagesbefore = array('nl_NL'); if (in_array($currency_code, $listofcurrenciesbefore) || in_array($outlangs->defaultlang, $listoflanguagesbefore)) { @@ -4652,9 +4685,9 @@ function price($amount, $form = 0, $outlangs = '', $trunc = 1, $rounding = -1, $ /** * Function that return a number with universal decimal format (decimal separator is '.') from an amount typed by a user. * Function to use on each input amount before any numeric test or database insert. A better name for this function - * should be text2num(). + * should be roundtext2num(). * - * @param float $amount Amount to convert/clean + * @param float $amount Amount to convert/clean or round * @param string $rounding ''=No rounding * 'MU'=Round to Max unit price (MAIN_MAX_DECIMALS_UNIT) * 'MT'=Round to Max for totals with Tax (MAIN_MAX_DECIMALS_TOT) @@ -5761,7 +5794,8 @@ function dolGetFirstLineOfText($text, $nboflines = 1, $charset = 'UTF-8') /** - * Replace CRLF in string with a HTML BR tag + * Replace CRLF in string with a HTML BR tag. + * WARNING: The content after operation contains some HTML tags (the
    ) so be sure to also have encode the special chars of stringtoencode into HTML before. * * @param string $stringtoencode String to encode * @param int $nl2brmode 0=Adding br before \n, 1=Replacing \n by br @@ -6015,7 +6049,7 @@ function dol_textishtml($msg, $option = 0) * * @param string $text1 Text 1 * @param string $text2 Text 2 - * @param bool $forxml false=Use
    instead of \n if html content detected, true=Use
    instead of \n if html content detected + * @param bool $forxml true=Use
    instead of
    if we have to add a br tag * @param bool $invert invert order of description lines (we often use config MAIN_CHANGE_ORDER_CONCAT_DESCRIPTION in this parameter) * @return string Text 1 + new line + Text2 * @see dol_textishtml() @@ -6030,9 +6064,9 @@ function dol_concatdesc($text1, $text2, $forxml = false, $invert = false) } $ret = ''; - $ret .= (!dol_textishtml($text1) && dol_textishtml($text2)) ?dol_nl2br($text1, 0, $forxml) : $text1; + $ret .= (!dol_textishtml($text1) && dol_textishtml($text2)) ? dol_nl2br(dol_escape_htmltag($text1, 0, 1, '', 1), 0, $forxml) : $text1; $ret .= (!empty($text1) && !empty($text2)) ? ((dol_textishtml($text1) || dol_textishtml($text2)) ? ($forxml ? "
    \n" : "
    \n") : "\n") : ""; - $ret .= (dol_textishtml($text1) && !dol_textishtml($text2)) ?dol_nl2br($text2, 0, $forxml) : $text2; + $ret .= (dol_textishtml($text1) && !dol_textishtml($text2)) ? dol_nl2br(dol_escape_htmltag($text2, 0, 1, '', 1), 0, $forxml) : $text2; return $ret; } @@ -6330,6 +6364,17 @@ function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null, { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $label) { $substitutionarray['__EXTRAFIELD_'.strtoupper($key).'__'] = $object->array_options['options_'.$key]; + if ($extrafields->attribute_type[$key] == 'date') { + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '__'] = dol_print_date($object->array_options['options_' . $key], 'day'); + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '_LOCALE__'] = dol_print_date($object->array_options['options_' . $key], 'day', 'tzserver', $outputlangs); + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '_RFC__'] = dol_print_date($object->array_options['options_' . $key], 'dayrfc'); + } elseif ($extrafields->attribute_type[$key] == 'datetime') { + $datetime = $object->array_options['options_'.$key]; + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '__'] = ($datetime != "0000-00-00 00:00:00" ? dol_print_date($datetime, 'dayhour') : ''); + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '_LOCALE__'] = ($datetime != "0000-00-00 00:00:00" ? dol_print_date($datetime, 'dayhour', 'tzserver', $outputlangs) : ''); + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '_DAY_LOCALE__'] = ($datetime != "0000-00-00 00:00:00" ? dol_print_date($datetime, 'day', 'tzserver', $outputlangs) : ''); + $substitutionarray['__EXTRAFIELD_' . strtoupper($key) . '_RFC__'] = ($datetime != "0000-00-00 00:00:00" ? dol_print_date($datetime, 'dayhourrfc') : ''); + } } } } @@ -6502,7 +6547,7 @@ function make_substitutions($text, $substitutionarray, $outputlangs = null) if (dol_textishtml($text, 1)) $msgishtml = 1; $keyfound = $reg[1]; - if (preg_match('/(_pass|password|secret|_key|key$)/i', $keyfound)) $newval = '*****forbidden*****'; + if (preg_match('/(_pass|_pw|password|secret|_key|key$)/i', $keyfound)) $newval = '*****forbidden*****'; else $newval = empty($conf->global->$keyfound) ? '' : $conf->global->$keyfound; $text = preg_replace('/__\['.preg_quote($keyfound, '/').'\]__/', $msgishtml ?dol_htmlentitiesbr($newval) : $newval, $text); } @@ -8583,11 +8628,8 @@ function dolGetButtonTitle($label, $helpText = '', $iconClass = 'fa fa-file', $u } $class = 'btnTitle'; + if ($iconClass == 'fa fa-plus-circle') $class .= ' btnTitlePlus'; - // hidden conf keep during button transition TODO: remove this block - if (!empty($conf->global->MAIN_USE_OLD_TITLE_BUTTON)) { - $class = 'butActionNew'; - } if (!empty($params['morecss'])) $class .= ' '.$params['morecss']; $attr = array( @@ -8602,11 +8644,6 @@ function dolGetButtonTitle($label, $helpText = '', $iconClass = 'fa fa-file', $u if ($status <= 0) { $attr['class'] .= ' refused'; - // hidden conf keep during button transition TODO: remove this block - if (!empty($conf->global->MAIN_USE_OLD_TITLE_BUTTON)) { - $attr['class'] = 'butActionNewRefused'; - } - $attr['href'] = ''; if ($status == -1) { // disable @@ -8658,18 +8695,12 @@ function dolGetButtonTitle($label, $helpText = '', $iconClass = 'fa fa-file', $u $tag = (empty($attr['href']) ? 'span' : 'a'); - $button = '<'.$tag.' '.$compiledAttributes.' >'; + $button = ''; + $button .= '<'.$tag.' '.$compiledAttributes.' >'; $button .= ''; $button .= ''.$label.''; $button .= ''; - // hidden conf keep during button transition TODO: remove this block - if (!empty($conf->global->MAIN_USE_OLD_TITLE_BUTTON)) { - $button = '<'.$tag.' '.$compiledAttributes.' >'.$label.''; - $button .= ''; - $button .= ''; - } - return $button; } diff --git a/htdocs/core/lib/memory.lib.php b/htdocs/core/lib/memory.lib.php index ba1ed6bb8a0..a301ac40a2b 100644 --- a/htdocs/core/lib/memory.lib.php +++ b/htdocs/core/lib/memory.lib.php @@ -42,24 +42,24 @@ $shmoffset = 1000; // Max number of entries found into a language file. If too l function dol_setcache($memoryid, $data) { global $conf; - $result=0; + $result = 0; // Using a memcached server - if (! empty($conf->memcached->enabled) && class_exists('Memcached')) + if (!empty($conf->memcached->enabled) && class_exists('Memcached')) { global $dolmemcache; - if (empty($dolmemcache) || ! is_object($dolmemcache)) + if (empty($dolmemcache) || !is_object($dolmemcache)) { - $dolmemcache=new Memcached(); - $tmparray=explode(':', $conf->global->MEMCACHED_SERVER); - $result=$dolmemcache->addServer($tmparray[0], $tmparray[1]?$tmparray[1]:11211); - if (! $result) return -1; + $dolmemcache = new Memcached(); + $tmparray = explode(':', $conf->global->MEMCACHED_SERVER); + $result = $dolmemcache->addServer($tmparray[0], $tmparray[1] ? $tmparray[1] : 11211); + if (!$result) return -1; } - $memoryid=session_name().'_'.$memoryid; + $memoryid = session_name().'_'.$memoryid; //$dolmemcache->setOption(Memcached::OPT_COMPRESSION, false); - $dolmemcache->add($memoryid, $data); // This fails if key already exists - $rescode=$dolmemcache->getResultCode(); + $dolmemcache->add($memoryid, $data); // This fails if key already exists + $rescode = $dolmemcache->getResultCode(); if ($rescode == 0) { return count($data); @@ -69,20 +69,20 @@ function dol_setcache($memoryid, $data) return -$rescode; } } - elseif (! empty($conf->memcached->enabled) && class_exists('Memcache')) + elseif (!empty($conf->memcached->enabled) && class_exists('Memcache')) { global $dolmemcache; - if (empty($dolmemcache) || ! is_object($dolmemcache)) + if (empty($dolmemcache) || !is_object($dolmemcache)) { - $dolmemcache=new Memcache(); - $tmparray=explode(':', $conf->global->MEMCACHED_SERVER); - $result=$dolmemcache->addServer($tmparray[0], $tmparray[1]?$tmparray[1]:11211); - if (! $result) return -1; + $dolmemcache = new Memcache(); + $tmparray = explode(':', $conf->global->MEMCACHED_SERVER); + $result = $dolmemcache->addServer($tmparray[0], $tmparray[1] ? $tmparray[1] : 11211); + if (!$result) return -1; } - $memoryid=session_name().'_'.$memoryid; + $memoryid = session_name().'_'.$memoryid; //$dolmemcache->setOption(Memcached::OPT_COMPRESSION, false); - $result=$dolmemcache->add($memoryid, $data); // This fails if key already exists + $result = $dolmemcache->add($memoryid, $data); // This fails if key already exists if ($result) { return count($data); @@ -112,22 +112,22 @@ function dol_getcache($memoryid) global $conf; // Using a memcached server - if (! empty($conf->memcached->enabled) && class_exists('Memcached')) + if (!empty($conf->memcached->enabled) && class_exists('Memcached')) { global $m; - if (empty($m) || ! is_object($m)) + if (empty($m) || !is_object($m)) { - $m=new Memcached(); - $tmparray=explode(':', $conf->global->MEMCACHED_SERVER); - $result=$m->addServer($tmparray[0], $tmparray[1]?$tmparray[1]:11211); - if (! $result) return -1; + $m = new Memcached(); + $tmparray = explode(':', $conf->global->MEMCACHED_SERVER); + $result = $m->addServer($tmparray[0], $tmparray[1] ? $tmparray[1] : 11211); + if (!$result) return -1; } - $memoryid=session_name().'_'.$memoryid; + $memoryid = session_name().'_'.$memoryid; //$m->setOption(Memcached::OPT_COMPRESSION, false); //print "Get memoryid=".$memoryid; - $data=$m->get($memoryid); - $rescode=$m->getResultCode(); + $data = $m->get($memoryid); + $rescode = $m->getResultCode(); //print "memoryid=".$memoryid." - rescode=".$rescode." - data=".count($data)."\n
    "; //var_dump($data); if ($rescode == 0) @@ -139,20 +139,20 @@ function dol_getcache($memoryid) return -$rescode; } } - elseif (! empty($conf->memcached->enabled) && class_exists('Memcache')) + elseif (!empty($conf->memcached->enabled) && class_exists('Memcache')) { global $m; - if (empty($m) || ! is_object($m)) + if (empty($m) || !is_object($m)) { - $m=new Memcache(); - $tmparray=explode(':', $conf->global->MEMCACHED_SERVER); - $result=$m->addServer($tmparray[0], $tmparray[1]?$tmparray[1]:11211); - if (! $result) return -1; + $m = new Memcache(); + $tmparray = explode(':', $conf->global->MEMCACHED_SERVER); + $result = $m->addServer($tmparray[0], $tmparray[1] ? $tmparray[1] : 11211); + if (!$result) return -1; } - $memoryid=session_name().'_'.$memoryid; + $memoryid = session_name().'_'.$memoryid; //$m->setOption(Memcached::OPT_COMPRESSION, false); - $data=$m->get($memoryid); + $data = $m->get($memoryid); //print "memoryid=".$memoryid." - rescode=".$rescode." - data=".count($data)."\n
    "; //var_dump($data); if ($data) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index d31baf70b69..63789a18e62 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -914,7 +914,7 @@ function pdf_pagefoot(&$pdf, $outputlangs, $paramfreetext, $fromcompany, $marge_ // // become // - $newfreetext = preg_replace('/()/', '\1'.'file:/'.DOL_DATA_ROOT.'/medias/\2\3', $newfreetext); + $newfreetext = preg_replace('/()/', '\1file:/'.DOL_DATA_ROOT.'/medias/\2\3', $newfreetext); $line .= $outputlangs->convToOutputCharset($newfreetext); } diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 79d77e0268f..0615ff127b0 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -55,7 +55,7 @@ function product_prepare_head($object) if (!empty($object->status_buy) || (!empty($conf->margin->enabled) && !empty($object->status))) // If margin is on and product on sell, we may need the cost price even if product os not on purchase { - if ((!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire) + if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->lire) || (!empty($conf->margin->enabled) && $user->rights->margin->liretous) ) { @@ -353,6 +353,24 @@ function show_stats_for_company($product, $socid) print '
    '; print ''; + // MO + if (!empty($conf->mrp->enabled) && $user->rights->mrp->read) + { + $nblines++; + //$ret = $product->load_stats_mo($socid); + if ($ret < 0) dol_print_error($db); + $langs->load("orders"); + print ''; + print ''; + } // Customer proposals if (!empty($conf->propal->enabled) && $user->rights->propale->lire) { @@ -379,7 +397,7 @@ function show_stats_for_company($product, $socid) if ($ret < 0) dol_print_error($db); $langs->load("propal"); print ''; } // Supplier orders - if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->lire) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) && $user->rights->fournisseur->commande->lire) { $nblines++; $ret = $product->load_stats_commande_fournisseur($socid); if ($ret < 0) dol_print_error($db); $langs->load("orders"); print ''; print ''; } - // MO - if (!empty($conf->mrp->enabled) && $user->rights->mrp->read) - { - $nblines++; - //$ret = $product->load_stats_mo($socid); - if ($ret < 0) dol_print_error($db); - $langs->load("orders"); - print ''; - print ''; - } // Customer invoices if (!empty($conf->facture->enabled) && $user->rights->facture->lire) { @@ -462,14 +462,14 @@ function show_stats_for_company($product, $socid) print ''; } // Supplier invoices - if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) { $nblines++; $ret = $product->load_stats_facture_fournisseur($socid); if ($ret < 0) dol_print_error($db); $langs->load("bills"); print ''; print ''; - print ''; + print ''; + $extrafields_collapse_num_old = $extrafields_collapse_num; print ''; // Read date @@ -864,7 +870,7 @@ if (empty($action) || $action == 'view' || $action == 'addlink' || $action == 'd if (!empty($object->date_read)) { print dol_print_date($object->date_read, 'dayhour'); print ' - '.$langs->trans("TicketTimeToRead").': '.convertSecondToTime(roundUpToNextMultiple($object->date_read - $object->datec, 60)).''; - print ' - '.$langs->trans("TimeElapsedSince").': '.''.convertSecondToTime(roundUpToNextMultiple($now - $object->date_read, 60)).''; + print ' - '.$langs->trans("TimeElapsedSince").': '.convertSecondToTime(roundUpToNextMultiple($now - $object->date_read, 60)).''; } print ''; @@ -1213,29 +1219,8 @@ if (empty($action) || $action == 'view' || $action == 'addlink' || $action == 'd // Set $action to correct value for the case we used presend action to add a message if (GETPOSTISSET('actionbis') && $action == 'presend') $action = 'presend_addmessage'; - if ($action != 'presend' && $action != 'presend_addmessage') - { - print '
    '; - print ''; // ancre - - // Show links to link elements - $linktoelem = $form->showLinkToObjectBlock($object, null, array('ticket')); - $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); - - // Show direct link to public interface - print '
    '."\n"; - print showDirectPublicLink($object).'
    '; - - 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, 'ticket', $socid, 1); - - print '
    '; - } - else + // add a message + if ($action == 'presend' || $action == 'presend_addmessage') { $action = 'add_message'; // action to use to post the message $modelmail = 'ticket_send'; @@ -1310,6 +1295,70 @@ if (empty($action) || $action == 'view' || $action == 'addlink' || $action == 'd $formticket->showMessageForm('100%'); print ''; } + + // Show messages on card (Note: this is a duplicate of the view Events/Agenda but on the main tab) + if (! empty($conf->global->TICKET_SHOW_MESSAGES_ON_CARD)) { + $param = '&id='.$object->id; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage; + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit; + if ($actioncode) $param .= '&actioncode='.urlencode($actioncode); + if ($search_agenda_label) $param .= '&search_agenda_label='.urlencode($search_agenda_label); + + $morehtmlright = ''; + + $messagingUrl = DOL_URL_ROOT . '/ticket/agenda.php?track_id=' . $object->track_id; + $morehtmlright .= dolGetButtonTitle($langs->trans('MessageListViewType'), '', 'fal fa-list-alt imgforviewmode', $messagingUrl, '', 1); + + // Show link to add a message (if read and not closed) + $btnstatus = $object->fk_statut < Ticket::STATUS_CLOSED && $action != "presend" && $action != "presend_addmessage" && $action != "add_message"; + $url = 'card.php?track_id=' . $object->track_id . '&action=presend_addmessage&mode=init'; + $morehtmlright .= dolGetButtonTitle($langs->trans('TicketAddMessage'), '', 'fal fa-comment-dots', $url, 'add-new-ticket-title-button', $btnstatus); + + // Show link to add event (if read and not closed) + $btnstatus = $object->fk_statut < Ticket::STATUS_CLOSED && $action != "presend" && $action != "presend_addmessage" && $action != "add_message";; + $url = dol_buildpath('/comm/action/card.php', 1) . '?action=create&datep=' . date('YmdHi') . '&origin=ticket&originid=' . $object->id . '&projectid=' . $object->fk_project . '&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?track_id=' . $object->track_id); + $morehtmlright .= dolGetButtonTitle($langs->trans('AddAction'), '', 'fal fa-plus-circle', $url, 'add-new-ticket-even-button', $btnstatus); + + print_barre_liste($langs->trans("ActionsOnTicket"), 0, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', 0, -1, '', 0, $morehtmlright, '', 0, 1, 1); + + // List of all actions + $filters = array(); + $filters['search_agenda_label'] = $search_agenda_label; + show_ticket_messaging($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder); + } + + if ($action != 'presend' && $action != 'presend_addmessage' && $action != 'add_message') { + print '
    '; + print ''; // ancre + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object, null, array('ticket')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + + // Show direct link to public interface + print '
    '."\n"; + print showDirectPublicLink($object).'
    '; + print '
    '; + + if (empty($conf->global->TICKET_SHOW_MESSAGES_ON_CARD)) { + print '
    '; + + $MAXEVENT = 10; + + $morehtmlcenter = dolGetButtonTitle($langs->trans('FullConversation'), '', 'fa fa-comments imgforviewmode', DOL_URL_ROOT.'/ticket/messaging.php?id='.$object->id); + $morehtmlcenter .= ' '; + $morehtmlcenter .= dolGetButtonTitle($langs->trans('FullList'), '', 'fa fa-list-alt imgforviewmode', DOL_URL_ROOT.'/ticket/agenda.php?id='.$object->id); + + // List of actions on element + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, 'ticket', $socid, 1, 'listactions', $MAXEVENT, '', $morehtmlcenter); + + print '
    '; + } + + print '
    '; + } } } diff --git a/htdocs/ticket/class/actions_ticket.class.php b/htdocs/ticket/class/actions_ticket.class.php index 9a67c3dd574..0fb5835cb4c 100644 --- a/htdocs/ticket/class/actions_ticket.class.php +++ b/htdocs/ticket/class/actions_ticket.class.php @@ -272,6 +272,7 @@ class ActionsTicket print $langs->trans('User'); print ''; } + print ''; foreach ($this->dao->cache_msgs_ticket as $id => $arraymsgs) { if (!$arraymsgs['private'] @@ -280,7 +281,7 @@ class ActionsTicket //print ''; print ''; print ''; if ($show_user) { print ''; print ''; print ''."\n"; @@ -1993,6 +2000,8 @@ else if ($canreadgroup) { + print ''."\n"; + print load_fiche_titre($langs->trans("ListOfGroupsForUser"), '', ''); // On selectionne les groupes auquel fait parti le user @@ -2031,13 +2040,11 @@ else print $form->select_dolgroups('', 'group', 1, $exclude, 0, '', '', $object->entity); print '   '; print ''; - print ''; + print ''; } print ''."\n"; - /* - * Groups assigned to user - */ + // List of groups of user if (!empty($groupslist)) { foreach ($groupslist as $group) @@ -2046,7 +2053,7 @@ else print ''; diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index f944083f6c5..11d0cec3654 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -64,6 +64,8 @@ class User extends CommonObject */ public $ismultientitymanaged = 1; + public $picto = 'user'; + public $id = 0; public $statut; public $ldap_sid; @@ -1094,7 +1096,7 @@ class User extends CommonObject } // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -1762,7 +1764,7 @@ class User extends CommonObject $action = 'update'; // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1836,7 +1838,7 @@ class User extends CommonObject /** * Change password of a user * - * @param User $user Object user of user making change + * @param User $user Object user of user requesting the change (not the user for who we change the password). May be unknown. * @param string $password New password in clear text (to generate if not provided) * @param int $changelater 1=Change password only after clicking on confirm email * @param int $notrigger 1=Does not launch triggers @@ -1970,7 +1972,7 @@ class User extends CommonObject /** * Send new password by email * - * @param User $user Object user that send email + * @param User $user Object user that send the email (not the user we send too) * @param string $password New password * @param int $changelater 0=Send clear passwod into email, 1=Change password only after clicking on confirm email. @todo Add method 2 = Send link to reset password * @return int < 0 si erreur, > 0 si ok @@ -1995,8 +1997,9 @@ class User extends CommonObject { // If user has defined its own language (rare because in most cases, auto is used) $outputlangs->getDefaultLang($this->conf->MAIN_LANG_DEFAULT); } - if ($user->conf->MAIN_LANG_DEFAULT) { - $outputlangs->setDefaultLang($user->conf->MAIN_LANG_DEFAULT); + + if ($this->conf->MAIN_LANG_DEFAULT) { + $outputlangs->setDefaultLang($this->conf->MAIN_LANG_DEFAULT); } else { // If user has not defined its own language, we used current language @@ -2026,7 +2029,7 @@ class User extends CommonObject $mesg .= $outputlangs->transnoentitiesnoconv("ClickHereToGoTo", $appli).': '.$url."\n\n"; $mesg .= "--\n"; - $mesg .= $user->getFullName($outputlangs); // Username that make then sending + $mesg .= $user->getFullName($outputlangs); // Username that send the email (not the user for who we want to reset password) dol_syslog(get_class($this)."::send_password changelater is off, url=".$url); } @@ -2046,6 +2049,8 @@ class User extends CommonObject dol_syslog(get_class($this)."::send_password changelater is on, url=".$url); } + $trackid = 'use'.$this->id; + $mailfile = new CMailFile( $subject, $this->email, @@ -2057,7 +2062,10 @@ class User extends CommonObject '', '', 0, - $msgishtml + $msgishtml, + '', + '', + $trackid ); if ($mailfile->sendfile()) diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index aaa631fdf36..bc5396e9f51 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -118,12 +118,12 @@ class UserGroup extends CommonObject /** * @var array List of child tables. To test if we can delete object. */ - protected $childtables=array(); + protected $childtables = array(); /** * @var array List of child tables. To know object to delete on cascade. */ - protected $childtablesoncascade = array('usergroup_rights','usergroup_user'); + protected $childtablesoncascade = array('usergroup_rights', 'usergroup_user'); /** @@ -160,7 +160,9 @@ class UserGroup extends CommonObject $result = $this->fetchCommon($id); } - if($result) + $this->name = $this->nom; // For compatibility with field name + + if ($result) { if ($load_members) { @@ -652,6 +654,9 @@ class UserGroup extends CommonObject global $user, $conf; $this->datec = dol_now(); + if (empty($this->nom) && !empty($this->name)) { + $this->nom = $this->name; + } if (!isset($this->entity)) $this->entity = $conf->entity; // If not defined, we use default value $entity = $this->entity; diff --git a/htdocs/user/document.php b/htdocs/user/document.php index 905eca0e4cf..2b8c67d7ae6 100644 --- a/htdocs/user/document.php +++ b/htdocs/user/document.php @@ -72,11 +72,12 @@ $result = restrictedArea($user, 'user', $id, 'user&user', $feature2); if ($user->id <> $id && !$canreaduser) accessforbidden(); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 25a0db9d633..1cd3b3edc37 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -132,7 +132,7 @@ if (empty($reshook)) { $action = "create"; // Go back to create page } else { $object->name = trim(GETPOST("nom", 'nohtml')); - $object->nom = $object->name; // For backward compatibility + //$object->nom = $object->name; // For backward compatibility $object->note = dol_htmlcleanlastbr(trim(GETPOST("note", 'none'))); // Fill array 'array_options' with data from add form @@ -215,7 +215,7 @@ if (empty($reshook)) { $object->oldcopy = clone $object; $object->name = trim(GETPOST("nom", 'nohtml')); - $object->nom = $object->name; // For backward compatibility + //$object->nom = $object->name; // For backward compatibility $object->note = dol_htmlcleanlastbr(trim(GETPOST("note", 'none'))); // Fill array 'array_options' with data from add form @@ -447,7 +447,7 @@ else print $form->select_dolusers('', 'user', 1, $exclude, 0, '', '', $object->entity, 0, 0, '', 0, '', 'maxwidth300'); print '   '; print ''; - print ''; + print ''; print ''."\n"; print '
    '; + print ''; $staticcontrat->ref = ($obj->ref ? $obj->ref : $obj->cid); $staticcontrat->id = $obj->cid; print $staticcontrat->getNomUrl(1, 16); @@ -425,7 +425,7 @@ if ($resql) $obj = $db->fetch_object($resql); print '
    '; + print ''; $staticcontrat->ref = ($obj->ref ? $obj->ref : $obj->fk_contrat); $staticcontrat->id = $obj->fk_contrat; print $staticcontrat->getNomUrl(1, 16); @@ -506,7 +506,7 @@ if ($resql) print '
    '; + print ''; $staticcontrat->ref = ($obj->ref ? $obj->ref : $obj->fk_contrat); $staticcontrat->id = $obj->fk_contrat; print $staticcontrat->getNomUrl(1, 16); @@ -586,7 +586,7 @@ if ($resql) print '
    '; + print ''; $staticcontrat->ref = ($obj->ref ? $obj->ref : $obj->fk_contrat); $staticcontrat->id = $obj->fk_contrat; print $staticcontrat->getNomUrl(1, 16); diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index 380ab05f01a..a7205730817 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2019 Laurent Destailleur + * Copyright (C) 2004-2020 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2014-2019 Juanjo Menent @@ -384,7 +384,7 @@ print ''; print ''; print ''; -print_barre_liste($langs->trans("ListOfContracts"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $totalnboflines, 'commercial', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($langs->trans("ListOfContracts"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $totalnboflines, 'contract', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendContractRef"; $modelmail = "contract"; @@ -612,9 +612,11 @@ while ($i < min($num, $limit)) } print '
    '; + print ''; print $contracttmp->getNomUrl(1); if ($obj->nb_late) print img_warning($langs->trans("Late")); if (!empty($obj->note_private) || !empty($obj->note_public)) { @@ -631,6 +633,7 @@ while ($i < min($num, $limit)) print ''.$contracttmp->getFormatedCustomerRef($obj->ref_customer).''; - if ($nbofsubdir > 0 && $nboffilesinsubdir > 0) print '+'.$nboffilesinsubdir.' '; + if ($nbofsubdir > 0 && $nboffilesinsubdir > 0) print '+'.$nboffilesinsubdir.' '; print ''.img_edit($langs->trans("Edit").' - '.$langs->trans("View"), 0, 'class="valignmiddle opacitymedium"').''.$langs->trans("TotalQuantity").'
    '; + print ''.img_object('', 'mrp').' '.$langs->trans("MO").''; + print ''; + print $product->stats_mo['suppliers']; + print ''; + print $product->stats_mo['nb']; + print ''; + print $product->stats_mo['qty']; + print '
    '; - print ''.img_object('', 'propal').' '.$langs->trans("SupplierProposals").''; + print ''.img_object('', 'supplier_proposal').' '.$langs->trans("SupplierProposals").''; print ''; print $product->stats_proposal_supplier['suppliers']; print ''; @@ -408,14 +426,14 @@ function show_stats_for_company($product, $socid) print '
    '; - print ''.img_object('', 'order').' '.$langs->trans("SuppliersOrders").''; + print ''.img_object('', 'supplier_order').' '.$langs->trans("SuppliersOrders").''; print ''; print $product->stats_commande_fournisseur['suppliers']; print ''; @@ -425,24 +443,6 @@ function show_stats_for_company($product, $socid) print '
    '; - print ''.img_object('', 'mrp').' '.$langs->trans("MO").''; - print ''; - print $product->stats_mo['suppliers']; - print ''; - print $product->stats_mo['nb']; - print ''; - print $product->stats_mo['qty']; - print '
    '; - print ''.img_object('', 'bill').' '.$langs->trans("SuppliersInvoices").''; + print ''.img_object('', 'supplier_invoice').' '.$langs->trans("SuppliersInvoices").''; print ''; print $product->stats_facture_fournisseur['suppliers']; print ''; diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 428d976ab6d..f3690694b01 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -87,7 +87,8 @@ function project_prepare_head($object) $h++; } - if (!empty($conf->fournisseur->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) + || !empty($conf->propal->enabled) || !empty($conf->commande->enabled) || !empty($conf->facture->enabled) || !empty($conf->contrat->enabled) || !empty($conf->ficheinter->enabled) || !empty($conf->agenda->enabled) || !empty($conf->deplacement->enabled)) { @@ -642,7 +643,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t if ($source == 'internal') $c = new User($db); else $c = new Contact($db); $c->fetch($contacttask['id']); - print $c->getNomUrl(1).' ('.$contacttask['libelle'].')'.'
    '; + print $c->getNomUrl(1).' ('.$contacttask['libelle'].')
    '; } } } @@ -2225,10 +2226,10 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks print '
    '; - print $projectstatic->getNomUrl(1); + print $projectstatic->getNomUrl(1, '', 0, '', '-', 0 , -1, 'nowraponall'); if (!in_array('projectlabel', $hiddenfields)) print '
    '.dol_trunc($objp->title, 24).''; print '
    '; + print ''; if ($objp->fk_soc > 0) { $thirdpartystatic->id = $objp->fk_soc; @@ -2241,7 +2242,7 @@ function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { if (!in_array('prospectionstatus', $hiddenfields)) { - print ''; + print ''; // Because color of prospection status has no meaning yet, it is used if hidden constant is set if (empty($conf->global->USE_COLOR_FOR_PROSPECTION_STATUS)) { $oppStatusCode = dol_getIdFromCode($db, $objp->opp_status, 'c_lead_status', 'rowid', 'code'); diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php index 6749f32ffbe..03f1525eb91 100644 --- a/htdocs/core/lib/security.lib.php +++ b/htdocs/core/lib/security.lib.php @@ -192,6 +192,7 @@ function restrictedArea($user, $features, $objectid = 0, $tableandshare = '', $f if ($features == 'mo') $features = 'mrp'; if ($features == 'member') $features = 'adherent'; if ($features == 'subscription') { $features = 'adherent'; $feature2 = 'cotisation'; }; + if ($features == 'websitepage') $features = 'website'; // Get more permissions checks from hooks $parameters = array('features'=>$features, 'objectid'=>$objectid, 'idtype'=>$dbt_select); diff --git a/htdocs/core/lib/sendings.lib.php b/htdocs/core/lib/sendings.lib.php index 34dd845cdfa..ad1e6304d03 100644 --- a/htdocs/core/lib/sendings.lib.php +++ b/htdocs/core/lib/sendings.lib.php @@ -415,7 +415,7 @@ function show_list_sending_receive($origin, $origin_id, $filter = '') //var_dump($expedition->linkedObjects); $receiving = ''; - if (count($expedition->linkedObjects['delivery']) > 0) $receiving = reset($expedition->linkedObjects['delivery']); // Take first link + if (!empty($expedition->linkedObjects['delivery'])) $receiving = reset($expedition->linkedObjects['delivery']); // Take first link if (!empty($receiving)) { diff --git a/htdocs/core/lib/takepos.lib.php b/htdocs/core/lib/takepos.lib.php index 8a883ceef91..d04fa5f77ef 100644 --- a/htdocs/core/lib/takepos.lib.php +++ b/htdocs/core/lib/takepos.lib.php @@ -43,6 +43,14 @@ function takepos_prepare_head() $head[$h][2] = 'receipt'; $h++; + if ($conf->global->TAKEPOS_BAR_RESTAURANT) + { + $head[$h][0] = DOL_URL_ROOT.'/takepos/admin/bar.php'; + $head[$h][1] = $langs->trans("BarRestaurant"); + $head[$h][2] = 'bar'; + $h++; + } + $numterminals = max(1, $conf->global->TAKEPOS_NUM_TERMINALS); for ($i = 1; $i <= $numterminals; $i++) { diff --git a/htdocs/core/lib/ticket.lib.php b/htdocs/core/lib/ticket.lib.php index e12531b3846..1b2a5c1245f 100644 --- a/htdocs/core/lib/ticket.lib.php +++ b/htdocs/core/lib/ticket.lib.php @@ -230,8 +230,8 @@ function llxHeaderTicket($title, $head = "", $disablejs = 0, $disablehead = 0, $ } elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$mysoc->logo)) { $urllogo = DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode('logos/'.$mysoc->logo); $width = 150; - } elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.png')) { - $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.png'; + } elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.svg')) { + $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.svg'; } } } @@ -254,7 +254,7 @@ function llxHeaderTicket($title, $head = "", $disablejs = 0, $disablehead = 0, $ } print ''; if (empty($conf->global->MAIN_HIDE_POWERED_BY)) { - print ''; + print ''; } print ''; } @@ -709,7 +709,7 @@ function show_ticket_messaging($conf, $langs, $db, $filterobj, $objcon = '', $no $out .= $histo[$key]['id']; $out .= ' '; } else { - $out .= $actionstatic->getNomUrl(1, -1).' '; + $out .= $actionstatic->getNomUrl(1, -1, 'valignmiddle').' '; } //if ($user->rights->agenda->allactions->read || $actionstatic->authorid == $user->id) diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index f3e7cee141d..9ac9383e516 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -331,7 +331,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if ($foruserprofile) $colspan = 4; $thumbsbyrow = 6; - print ''; + print '
    '; // Title if ($foruserprofile) @@ -359,7 +359,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) print $form->textwithpicto($langs->trans("DefaultSkin"), $langs->trans("ThemeDir").' : '.$dirthemestring); print ''; print ''; } @@ -549,9 +548,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if ($color) print ''; else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': ffffff) '; + print '   '.$langs->trans("Default").': ffffff '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -597,9 +595,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if ($color) print ''; else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -645,9 +642,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if ($color) print ''; else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -671,9 +667,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) { print $formother->showColor($conf->global->THEME_ELDY_TEXTTITLENOTAB, $langs->trans("Default")); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; @@ -698,9 +693,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) { print $formother->showColor($conf->global->THEME_ELDY_BACKTITLE1, $langs->trans("Default")); } - print '   ('.$langs->trans("Default").': '.$default.') '; // $colorbacktitle1 in CSS + print '   '.$langs->trans("Default").': '.$default.' '; // $colorbacktitle1 in CSS print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; @@ -725,7 +719,33 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) { print $formother->showColor($conf->global->THEME_ELDY_TEXTTITLE, $langs->trans("Default")); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; + print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); + print ''; + + print ''; + } + + // TextTitleLinkColor + if ($foruserprofile) + { + } + else + { + $default=(empty($colortexttitlelink) ? $langs->trans("Unknown") : colorArrayToHex(colorStringToArray($colortexttitlelink))); + + print ''; + print ''; + print ''; @@ -754,9 +774,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if ($color) print ''; else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -782,9 +801,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if ($color) print ''; else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -835,9 +853,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) print $langs->trans("Default"); } } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -881,9 +898,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) } else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; } @@ -927,9 +943,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) } else print $langs->trans("Default"); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print ''; } @@ -959,7 +974,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) if (empty($fuser->conf->MAIN_OPTIMIZEFORTEXTBROWSER)) print ' ('.$langs->trans("ForcedByGlobalSetup").')'; } } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("MAIN_OPTIMIZEFORTEXTBROWSERDesc")); print ''; print ''; @@ -979,7 +994,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) { print yn($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   wspan class="opacitymedium">'.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("MAIN_OPTIMIZEFORTEXTBROWSERDesc")); print ''; print ''; @@ -1018,7 +1033,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) print yn(0); } } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("MAIN_OPTIMIZEFORCOLORBLINDDesc")); print ''; print ''; diff --git a/htdocs/core/lib/website.lib.php b/htdocs/core/lib/website.lib.php index 2dcabbcafaa..5eac4469c4e 100644 --- a/htdocs/core/lib/website.lib.php +++ b/htdocs/core/lib/website.lib.php @@ -352,7 +352,7 @@ function dolWebsiteOutput($content, $contenttype = 'html', $containerid = '') $content = str_replace(' contenteditable="true"', ' contenteditable="false"', $content); - if (! empty($conf->global->WEBSITE_ADD_CSS_TO_BODY)) { + if (!empty($conf->global->WEBSITE_ADD_CSS_TO_BODY)) { $content = str_replace('global->MAIN_UMASK)) @@ -133,7 +136,7 @@ function dolSavePageContent($filetpl, Website $object, WebsitePage $objectpage) $tplcontent .= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) {\n"; $tplcontent .= ' $pathdepth = count(explode(\'/\', $_SERVER[\'SCRIPT_NAME\'])) - 2;'."\n"; $tplcontent .= ' require_once ($pathdepth ? str_repeat(\'../\', $pathdepth) : \'./\').\'master.inc.php\';'."\n"; - $tplcontent .= "} // Not already loaded"."\n"; + $tplcontent .= "} // Not already loaded\n"; $tplcontent .= "require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n"; $tplcontent .= "require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n"; $tplcontent .= "ob_start();\n"; @@ -212,7 +215,7 @@ function dolSavePageContent($filetpl, Website $object, WebsitePage $objectpage) $tplcontent .= 'id.');'."\n"; - $tplcontent .= "// END PHP ?>"."\n"; + $tplcontent .= "// END PHP ?>\n"; //var_dump($filetpl);exit; $result = file_put_contents($filetpl, $tplcontent); diff --git a/htdocs/core/lib/xcal.lib.php b/htdocs/core/lib/xcal.lib.php index 4a85c595223..440f1147cbf 100644 --- a/htdocs/core/lib/xcal.lib.php +++ b/htdocs/core/lib/xcal.lib.php @@ -251,7 +251,7 @@ function build_calfile($format, $title, $desc, $events_array, $outputfile) } fwrite($calfileh, "DTEND".$prefix.":".$enddatef."\n"); - fwrite($calfileh, "STATUS:CONFIRMED"."\n"); + fwrite($calfileh, "STATUS:CONFIRMED\n"); if (!empty($transparency)) { @@ -295,7 +295,7 @@ function build_calfile($format, $title, $desc, $events_array, $outputfile) fwrite($calfileh, "SUMMARY:".$encoding.$summary."\n"); fwrite($calfileh, "DESCRIPTION:".$encoding.$description."\n"); - fwrite($calfileh, "STATUS:CONFIRMED"."\n"); + fwrite($calfileh, "STATUS:CONFIRMED\n"); fwrite($calfileh, "CATEGORIES:".$category."\n"); fwrite($calfileh, "LOCATION:".$location."\n"); fwrite($calfileh, "TRANSP:OPAQUE\n"); @@ -381,7 +381,7 @@ function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filt $url = $urlwithroot."/public/agenda/agendaexport.php?format=rss&exportkey=".urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY); } - fwrite($fichier, ""."\n"); + fwrite($fichier, "\n"); foreach ($events_array as $key => $event) { @@ -480,9 +480,9 @@ function format_cal($format, $string) if ($format === "ical") { // Replace new lines chars by "\n" - $newstring = preg_replace("/"."\r\n"."/i", "\\n", $newstring); - $newstring = preg_replace("/"."\n\r"."/i", "\\n", $newstring); - $newstring = preg_replace("/"."\n"."/i", "\\n", $newstring); + $newstring = preg_replace("/\r\n/i", "\\n", $newstring); + $newstring = preg_replace("/\n\r/i", "\\n", $newstring); + $newstring = preg_replace("/\n/i", "\\n", $newstring); // Must not exceed 75 char. Cut with "\r\n"+Space $newstring = calEncode($newstring); @@ -586,7 +586,7 @@ function quotedPrintEncode($str, $forcal = 0) if ((strlen($newpara) + strlen($char)) >= 76) { // New line with carray-return (CR) and line-feed (LF) - $out .= $newpara."="."\r\n"; + $out .= $newpara."=\r\n"; // extra space for cal if ($forcal) diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index f9951561f3e..ede2a9f94d3 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -9,15 +9,16 @@ delete from llx_menu where menu_handler=__HANDLER__ and entity=__ENTITY__; -- table llx_menu -- insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '1', 1__+MAX_llx_menu__, __HANDLER__, 'top', 'home', '', 0, '/index.php?mainmenu=home&leftmenu=', 'Home', -1, '', '', '', 2, 10, __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 ('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 ('societe|fournisseur|supplier_order|supplier_invoice', '($conf->societe->enabled && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) || $conf->fournisseur->enabled || $conf->supplier_order->enabled || $conf->supplier_invoice->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=', 'ProductsPipeServices', -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->supplier_order->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 ('bom|mrp', '$conf->bom->enabled || $conf->mrp->enabled', 16__+MAX_llx_menu__, __HANDLER__, 'top', 'mrp', '', 0, '/mrp/index.php?mainmenu=mrp&leftmenu=', 'MRP', -1, 'mrp', '$user->rights->bom->read||$user->rights->mrp->read', '', 0, 31, __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, 32, __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|supplier_order|supplier_invoice|contrat|ficheinter', '$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->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 ('facture|don|tax|salaries|loan|banque', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled || $conf->banque->enabled', 6__+MAX_llx_menu__, __HANDLER__, 'top', 'billing', '', 0, '/compta/index.php?mainmenu=billing&leftmenu=', 'MenuFinancial', -1, 'compta', '$user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read || $user->rights->banque->lire', '', 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/list.php?mainmenu=bank&leftmenu=bank', 'MenuBankCash', -1, 'banks', '$user->rights->banque->lire || $user->rights->prelevement->bons->lire', '', 0, 52, __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|asset', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->asset->enabled', 9__+MAX_llx_menu__, __HANDLER__, 'top', 'accountancy', '', 0, '/compta/index.php?mainmenu=accountancy&leftmenu=accountancy', 'MenuAccountancy', -1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->mouvements->lire || $user->rights->asset->read', '', 2, 54, __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 ('', '', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '', '', 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 ('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, 19, __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|holiday|deplacement|expensereport', '$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/hrm/index.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire', '', 0, 80, __ENTITY__); -- Home - Dashboard @@ -76,8 +77,8 @@ 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->societe->enabled', __HANDLER__, 'left', 500__+MAX_llx_menu__, 'companies', 'thirdparties', 2__+MAX_llx_menu__, '/societe/index.php?mainmenu=companies&leftmenu=thirdparties', 'ThirdParty', 0, 'companies', '$user->rights->societe->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->societe->enabled', __HANDLER__, 'left', 501__+MAX_llx_menu__, 'companies', '', 500__+MAX_llx_menu__, '/societe/card.php?mainmenu=companies&action=create', 'MenuNewThirdParty', 1, 'companies', '$user->rights->societe->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->societe->enabled', __HANDLER__, 'left', 502__+MAX_llx_menu__, 'companies', '', 500__+MAX_llx_menu__, '/societe/list.php?mainmenu=companies&action=create', 'List', 1, 'companies', '$user->rights->societe->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->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 503__+MAX_llx_menu__, 'companies', '', 500__+MAX_llx_menu__, '/societe/list.php?mainmenu=companies&type=f&leftmenu=suppliers', 'ListSuppliersShort', 1, 'suppliers', '$user->rights->societe->lire && $user->rights->fournisseur->lire', '', 2, 5, __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->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 504__+MAX_llx_menu__, 'companies', '', 503__+MAX_llx_menu__, '/societe/card.php?mainmenu=companies&leftmenu=supplier&action=create&type=f', 'NewSupplier', 2, 'suppliers', '$user->rights->societe->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->societe->enabled && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))', __HANDLER__, 'left', 503__+MAX_llx_menu__, 'companies', '', 500__+MAX_llx_menu__, '/societe/list.php?mainmenu=companies&type=f&leftmenu=suppliers', 'ListSuppliersShort', 1, 'suppliers', '$user->rights->societe->lire && $user->rights->fournisseur->lire', '', 2, 5, __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->societe->enabled && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))', __HANDLER__, 'left', 504__+MAX_llx_menu__, 'companies', '', 503__+MAX_llx_menu__, '/societe/card.php?mainmenu=companies&leftmenu=supplier&action=create&type=f', 'NewSupplier', 2, 'suppliers', '$user->rights->societe->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->societe->enabled', __HANDLER__, 'left', 506__+MAX_llx_menu__, 'companies', '', 500__+MAX_llx_menu__, '/societe/list.php?mainmenu=companies&type=p&leftmenu=prospects', 'ListProspectsShort', 1, 'companies', '$user->rights->societe->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->societe->enabled', __HANDLER__, 'left', 507__+MAX_llx_menu__, 'companies', '', 506__+MAX_llx_menu__, '/societe/card.php?mainmenu=companies&leftmenu=prospects&action=create&type=p', 'MenuNewProspect', 2, 'companies', '$user->rights->societe->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->societe->enabled', __HANDLER__, 'left', 509__+MAX_llx_menu__, 'companies', '', 500__+MAX_llx_menu__, '/societe/list.php?mainmenu=companies&type=c&leftmenu=customers', 'ListCustomersShort', 1, 'companies', '$user->rights->societe->lire', '', 2, 4, __ENTITY__); @@ -88,14 +89,14 @@ 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->societe->enabled', __HANDLER__, 'left', 602__+MAX_llx_menu__, 'companies', '', 600__+MAX_llx_menu__, '/contact/list.php?mainmenu=companies&leftmenu=contacts', 'List', 1, 'companies', '$user->rights->societe->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->societe->enabled', __HANDLER__, 'left', 604__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?mainmenu=companies&leftmenu=contacts&type=p', 'ThirdPartyProspects', 2, 'companies', '$user->rights->societe->contact->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->societe->enabled', __HANDLER__, 'left', 605__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?mainmenu=companies&leftmenu=contacts&type=c', 'ThirdPartyCustomers', 2, 'companies', '$user->rights->societe->contact->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->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 606__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?mainmenu=companies&leftmenu=contacts&type=f', 'ThirdPartySuppliers', 2, 'companies', '$user->rights->societe->contact->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->societe->enabled && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))', __HANDLER__, 'left', 606__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?mainmenu=companies&leftmenu=contacts&type=f', 'ThirdPartySuppliers', 2, 'companies', '$user->rights->societe->contact->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->societe->enabled', __HANDLER__, 'left', 607__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?mainmenu=companies&leftmenu=contacts&type=o', 'Others', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 4, __ENTITY__); -- Third parties - Category customer 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->societe->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 650__+MAX_llx_menu__, 'companies', 'cat', 2__+MAX_llx_menu__, '/categories/index.php?mainmenu=companies&leftmenu=cat&type=1', 'SuppliersCategoriesShort', 0, 'categories', '$user->rights->categorie->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->societe->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 651__+MAX_llx_menu__, 'companies', '', 650__+MAX_llx_menu__, '/categories/card.php?mainmenu=companies&action=create&type=1', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); -- Third parties - Category supplier -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->fournisseur->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 660__+MAX_llx_menu__, 'companies', 'cat', 2__+MAX_llx_menu__, '/categories/index.php?mainmenu=companies&leftmenu=cat&type=2', 'CustomersProspectsCategoriesShort', 0, 'categories', '$user->rights->categorie->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->fournisseur->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 661__+MAX_llx_menu__, 'companies', '', 660__+MAX_llx_menu__, '/categories/card.php?mainmenu=companies&action=create&type=2', 'NewCategory', 1, 'categories', '$user->rights->categorie->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 ('', '(!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $conf->categorie->enabled', __HANDLER__, 'left', 660__+MAX_llx_menu__, 'companies', 'cat', 2__+MAX_llx_menu__, '/categories/index.php?mainmenu=companies&leftmenu=cat&type=2', 'CustomersProspectsCategoriesShort', 0, 'categories', '$user->rights->categorie->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 ('', '(!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $conf->categorie->enabled', __HANDLER__, 'left', 661__+MAX_llx_menu__, 'companies', '', 660__+MAX_llx_menu__, '/categories/card.php?mainmenu=companies&action=create&type=2', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); -- Third parties - Category contact 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->societe->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 670__+MAX_llx_menu__, 'companies', 'cat', 2__+MAX_llx_menu__, '/categories/index.php?mainmenu=companies&leftmenu=cat&type=4', 'ContactCategoriesShort', 0, 'categories', '$user->rights->categorie->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->societe->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 671__+MAX_llx_menu__, 'companies', '', 670__+MAX_llx_menu__, '/categories/card.php?mainmenu=companies&action=create&type=4', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); @@ -159,10 +160,10 @@ 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->commande->enabled && $leftmenu=="orders"', __HANDLER__, 'left', 1208__+MAX_llx_menu__, 'commercial', '', 1202__+MAX_llx_menu__, '/commande/list.php?mainmenu=commercial&leftmenu=orders&search_status=-1', 'StatusOrderCanceledShort', 1, 'orders', '$user->rights->commande->lire', '', 2, 7, __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->commande->enabled', __HANDLER__, 'left', 1209__+MAX_llx_menu__, 'commercial', '', 1200__+MAX_llx_menu__, '/commande/stats/index.php?mainmenu=commercial&leftmenu=orders', 'Statistics', 1, 'orders', '$user->rights->commande->lire', '', 2, 4, __ENTITY__); -- Commercial - Supplier's proposals -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->supplier_proposal->enabled', __HANDLER__, 'left', 1600__+MAX_llx_menu__, 'commercial', 'propals_supplier', 3__+MAX_llx_menu__, '/supplier_proposal/index.php?leftmenu=propals_supplier', 'SupplierProposalsShort', 0, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1601__+MAX_llx_menu__, 'commercial', '', 1600__+MAX_llx_menu__, '/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals', 'SupplierProposalNew', 1, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1602__+MAX_llx_menu__, 'commercial', '', 1600__+MAX_llx_menu__, '/supplier_proposal/list.php?leftmenu=supplier_proposals', 'List', 1, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1610__+MAX_llx_menu__, 'commercial', '', 1600__+MAX_llx_menu__, '/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier', 'Statistics', 1, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1650__+MAX_llx_menu__, 'commercial', 'propals_supplier', 3__+MAX_llx_menu__, '/supplier_proposal/index.php?leftmenu=propals_supplier', 'SupplierProposalsShort', 0, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1651__+MAX_llx_menu__, 'commercial', '', 1650__+MAX_llx_menu__, '/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals', 'SupplierProposalNew', 1, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1652__+MAX_llx_menu__, 'commercial', '', 1650__+MAX_llx_menu__, '/supplier_proposal/list.php?leftmenu=supplier_proposals', 'List', 1, 'supplier_proposal', '$user->rights->supplier_proposal->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->supplier_proposal->enabled', __HANDLER__, 'left', 1653__+MAX_llx_menu__, 'commercial', '', 1650__+MAX_llx_menu__, '/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier', 'Statistics', 1, 'supplier_proposal', '$user->rights->supplier_proposal->lire', '', 2, 2, __ENTITY__); -- Commercial - Supplier's orders 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->supplier_order->enabled', __HANDLER__, 'left', 5100__+MAX_llx_menu__, 'commercial', 'orders_suppliers', 5__+MAX_llx_menu__, '/fourn/commande/index.php?mainmenu=commercial&leftmenu=orders_suppliers', 'SuppliersOrders', 0, 'orders', '$user->rights->fournisseur->commande->lire', '', 2, 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->supplier_order->enabled', __HANDLER__, 'left', 5101__+MAX_llx_menu__, 'commercial', '', 5100__+MAX_llx_menu__, '/fourn/commande/card.php?mainmenu=commercial&action=create&leftmenu=orders_suppliers', 'NewOrder', 1, 'orders', '$user->rights->fournisseur->commande->creer', '', 2, 0, __ENTITY__); @@ -269,9 +270,9 @@ 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->accounting->enabled && $conf->facture->enabled', __HANDLER__, 'left', 2401__+MAX_llx_menu__, 'accountancy', 'accountancy_dispatch_customer', 2400__+MAX_llx_menu__, '/accountancy/customer/index.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_customer', 'CustomersVentilation', 1, 'accountancy', '$user->rights->accounting->bind->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->accounting->enabled && $conf->facture->enabled && $leftmenu=="accountancy_dispatch_customer"', __HANDLER__, 'left', 2402__+MAX_llx_menu__, 'accountancy', '', 2401__+MAX_llx_menu__, '/accountancy/customer/list.php?mainmenu=accountancy', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 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->accounting->enabled && $conf->facture->enabled && $leftmenu=="accountancy_dispatch_customer"', __HANDLER__, 'left', 2403__+MAX_llx_menu__, 'accountancy', '', 2401__+MAX_llx_menu__, '/accountancy/customer/lines.php?mainmenu=accountancy', 'Dispatched', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 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->accounting->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 2410__+MAX_llx_menu__, 'accountancy', 'accountancy_dispatch_supplier', 2400__+MAX_llx_menu__, '/accountancy/supplier/index.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_supplier', 'SuppliersVentilation', 1, 'accountancy', '$user->rights->accounting->bind->write', '', 0, 5, __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->accounting->enabled && $conf->fournisseur->enabled && $leftmenu=="accountancy_dispatch_supplier"', __HANDLER__, 'left', 2411__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/list.php?mainmenu=accountancy', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 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->accounting->enabled && $conf->fournisseur->enabled && $leftmenu=="accountancy_dispatch_supplier"', __HANDLER__, 'left', 2412__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/lines.php?mainmenu=accountancy', 'Dispatched', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 0, 7, __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->accounting->enabled && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled))', __HANDLER__, 'left', 2410__+MAX_llx_menu__, 'accountancy', 'accountancy_dispatch_supplier', 2400__+MAX_llx_menu__, '/accountancy/supplier/index.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_supplier', 'SuppliersVentilation', 1, 'accountancy', '$user->rights->accounting->bind->write', '', 0, 5, __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->accounting->enabled && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $leftmenu=="accountancy_dispatch_supplier"', __HANDLER__, 'left', 2411__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/list.php?mainmenu=accountancy', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 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->accounting->enabled && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $leftmenu=="accountancy_dispatch_supplier"', __HANDLER__, 'left', 2412__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/lines.php?mainmenu=accountancy', 'Dispatched', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 0, 7, __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->accounting->enabled && $conf->expensereport->enabled', __HANDLER__, 'left', 2420__+MAX_llx_menu__, 'accountancy', 'accountancy_dispatch_expensereport', 2400__+MAX_llx_menu__, '/accountancy/expensereport/index.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_expensereport', 'ExpenseReportsVentilation', 1, 'accountancy', '$user->rights->accounting->bind->write', '', 0, 5, __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->accounting->enabled && $conf->expensereport->enabled && $leftmenu=="accountancy_dispatch_expensereport"', __HANDLER__, 'left', 2421__+MAX_llx_menu__, 'accountancy', '', 2420__+MAX_llx_menu__, '/accountancy/expensereport/list.php?mainmenu=accountancy', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 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->accounting->enabled && $conf->expensereport->enabled && $leftmenu=="accountancy_dispatch_expensereport"', __HANDLER__, 'left', 2422__+MAX_llx_menu__, 'accountancy', '', 2420__+MAX_llx_menu__, '/accountancy/expensereport/lines.php?mainmenu=accountancy', 'Dispatched', 2, 'accountancy', '$user->rights->accounting->bind->write', '', 0, 7, __ENTITY__); @@ -347,6 +348,16 @@ 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 && !$conf->global->PROJECT_HIDE_TASKS', __HANDLER__, 'left', 3400__+MAX_llx_menu__, 'project', '', 7__+MAX_llx_menu__, '/projet/activity/perweek.php?mainmenu=project&leftmenu=projects', 'NewTimeSpent', 0, 'projects', '$user->rights->projet->lire', '', 2, 3, __ENTITY__); +-- BOM +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->bom->enabled', __HANDLER__, 'left', 5400__+MAX_llx_menu__, 'mrp', 'bom', 16__+MAX_llx_menu__, '/bom/bom_list.php?mainmenu=mrp&leftmenu=bom', 'MenuBOM', 1, 'mrp', '$user->rights->bom->read', '', 0, 20, __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->bom->enabled', __HANDLER__, 'left', 5401__+MAX_llx_menu__, 'mrp', '', 5400__+MAX_llx_menu__, '/bom/bom_card.php?mainmenu=mrp&leftmenu=bom&action=create', 'NewBOM', 2, 'mrp', '$user->rights->bom->write', '', 0, 21, __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->bom->enabled', __HANDLER__, 'left', 5403__+MAX_llx_menu__, 'mrp', '', 5400__+MAX_llx_menu__, '/bom/bom_list.php?mainmenu=mrp&leftmenu=bom', 'List', 2, 'mrp', '$user->rights->bom->read', '', 0, 22, __ENTITY__); +-- MRP +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->bom->enabled', __HANDLER__, 'left', 5450__+MAX_llx_menu__, 'mrp', 'mrp', 16__+MAX_llx_menu__, '/mrp/mo_list.php?mainmenu=mrp&leftmenu=mrp', 'MenuMRP', 1, 'mrp', '$user->rights->mrp->read', '', 0, 20, __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->bom->enabled', __HANDLER__, 'left', 5451__+MAX_llx_menu__, 'mrp', '', 5450__+MAX_llx_menu__, '/mrp/mo_card.php?mainmenu=mrp&leftmenu=mrp&action=create', 'NewMO', 2, 'mrp', '$user->rights->mrp->write', '', 0, 21, __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->bom->enabled', __HANDLER__, 'left', 5453__+MAX_llx_menu__, 'mrp', '', 5450__+MAX_llx_menu__, '/mrp/mo_list.php?mainmenu=mrp&leftmenu=mrp', 'List', 2, 'mrp', '$user->rights->mrp->read', '', 0, 22, __ENTITY__); + + -- Project - Categories 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->categorie->enabled', __HANDLER__, 'left', 3804__+MAX_llx_menu__, 'project', 'cat', 7__+MAX_llx_menu__, '/categories/index.php?mainmenu=project&leftmenu=cat&type=6', 'Categories', 0, 'categories', '$user->rights->categorie->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->categorie->enabled', __HANDLER__, 'left', 3805__+MAX_llx_menu__, 'project', '', 3804__+MAX_llx_menu__, '/categories/card.php?mainmenu=project&action=create&type=6', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php index dc67d44f937..4b4a4c54151 100644 --- a/htdocs/core/menus/standard/auguria.lib.php +++ b/htdocs/core/menus/standard/auguria.lib.php @@ -29,11 +29,11 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php'; * Core function to output top menu auguria * * @param DoliDB $db Database handler - * @param string $atarget Target + * @param string $atarget Target (Example: '' or '_top') * @param int $type_user 0=Menu for backoffice, 1=Menu for front office * @param array $tabMenu If array with menu entries already loaded, we put this array here (in most cases, it's empty) * @param Menu $menu Object Menu to return back list of menu entries - * @param int $noout Disable output (Initialise &$menu only). + * @param int $noout 1=Disable output (Initialise &$menu only). * @param string $mode 'top', 'topnb', 'left', 'jmobile' * @return int 0 */ @@ -131,27 +131,38 @@ function print_auguria_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout { //$mysoc->logo_mini=(empty($conf->global->MAIN_INFO_SOCIETE_LOGO_MINI)?'':$conf->global->MAIN_INFO_SOCIETE_LOGO_MINI); $mysoc->logo_squarred_mini = (empty($conf->global->MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI) ? '' : $conf->global->MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI); + + $logoContainerAdditionalClass = 'backgroundforcompanylogo'; + if (!empty($conf->global->MAIN_INFO_SOCIETE_LOGO_NO_BACKGROUND)) { + $logoContainerAdditionalClass = ''; + } + if (!empty($mysoc->logo_squarred_mini) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_squarred_mini)) { $urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_squarred_mini); } + /*elseif (! empty($mysoc->logo_mini) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) + { + $urllogo=DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_mini); + }*/ else { $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo_squarred_alpha.png'; + $logoContainerAdditionalClass = ''; } + $title = $langs->trans("GoIntoSetupToChangeLogo"); print "\n".''."\n"; - print_start_menu_entry_auguria('companylogo', 'class="tmenu tmenucompanylogo"', 1); + print_start_menu_entry_auguria('companylogo', 'class="tmenu tmenucompanylogo nohover"', 1); - print ''."\n"; + print ''."\n"; print_end_menu_entry_auguria(4); } if (empty($noout)) { - foreach ($menu->liste as $menuval) - { + foreach ($menu->liste as $menuval) { print_start_menu_entry_auguria($menuval['idsel'], $menuval['classname'], $menuval['enabled']); print_text_menu_entry_auguria($menuval['titre'], $menuval['enabled'], ($menuval['url'] != '#' ?DOL_URL_ROOT:'').$menuval['url'], $menuval['id'], $menuval['idsel'], $menuval['classname'], ($menuval['target'] ? $menuval['target'] : $atarget)); print_end_menu_entry_auguria($menuval['enabled']); @@ -216,8 +227,7 @@ function print_text_menu_entry_auguria($text, $showmode, $url, $id, $idsel, $cla { global $langs; - if ($showmode == 1) - { + if ($showmode == 1) { print ''; print '
    '; print '
    '; @@ -226,9 +236,7 @@ function print_text_menu_entry_auguria($text, $showmode, $url, $id, $idsel, $cla print $text; print ''; print ''; - } - elseif ($showmode == 2) - { + } elseif ($showmode == 2) { print '
    '; print ''; print ''; @@ -356,7 +364,7 @@ function print_left_auguria_menu($db, $menu_array_before, $menu_array_after, &$t if (!empty($conf->accounting->enabled) && !empty($user->rights->accounting->comptarapport->lire) && $mainmenu == 'accountancy') // Entry in accountancy journal for each bank account { - $newmenu->add('', $langs->trans("RegistrationInAccounting"), 1, $user->rights->accounting->comptarapport->lire, '', 'accountancy', 'accountancy'); + $newmenu->add('', $langs->trans("RegistrationInAccounting"), 1, $user->rights->accounting->comptarapport->lire, '', 'accountancy', 'accountancy', 10); // Multi journal $sql = "SELECT rowid, code, label, nature"; @@ -380,13 +388,13 @@ function print_left_auguria_menu($db, $menu_array_before, $menu_array_after, &$t $nature = ''; // Must match array $sourceList defined into journals_list.php - if ($objp->nature == 2 && !empty($conf->facture->enabled)) $nature = "sells"; - if ($objp->nature == 3 && !empty($conf->fournisseur->enabled)) $nature = "purchases"; - if ($objp->nature == 4 && !empty($conf->banque->enabled)) $nature = "bank"; - if ($objp->nature == 5 && !empty($conf->expensereport->enabled)) $nature = "expensereports"; - if ($objp->nature == 1) $nature = "various"; - if ($objp->nature == 8) $nature = "inventory"; - if ($objp->nature == 9) $nature = "hasnew"; + if ($objp->nature == 2 && ! empty($conf->facture->enabled)) $nature="sells"; + if ($objp->nature == 3 && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled))) $nature="purchases"; + if ($objp->nature == 4 && ! empty($conf->banque->enabled)) $nature="bank"; + if ($objp->nature == 5 && ! empty($conf->expensereport->enabled)) $nature="expensereports"; + if ($objp->nature == 1) $nature="various"; + if ($objp->nature == 8) $nature="inventory"; + if ($objp->nature == 9) $nature="hasnew"; // To enable when page exists if (empty($conf->global->ACCOUNTANCY_SHOW_DEVELOP_JOURNAL)) @@ -411,36 +419,6 @@ function print_left_auguria_menu($db, $menu_array_before, $menu_array_after, &$t } else dol_print_error($db); $db->free($resql); - - /* - $sql = "SELECT rowid, label, accountancy_journal"; - $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; - $sql.= " WHERE entity = ".$conf->entity; - $sql.= " AND clos = 0"; - $sql.= " ORDER BY label"; - - $resql = $db->query($sql); - if ($resql) - { - $numr = $db->num_rows($resql); - $i = 0; - - if ($numr > 0) - while ($i < $numr) - { - $objp = $db->fetch_object($resql); - $newmenu->add('/accountancy/journal/bankjournal.php?id_account='.$objp->rowid, $langs->trans("Journal").' - '.$objp->label, 1, $user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal'); - $i++; - } - } - else dol_print_error($db); - $db->free($resql); - - // Add other journal - $newmenu->add("/accountancy/journal/sellsjournal.php?leftmenu=journal",$langs->trans("SellsJournal"),1,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal'); - $newmenu->add("/accountancy/journal/purchasesjournal.php?leftmenu=journal",$langs->trans("PurchasesJournal"),1,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal'); - $newmenu->add("/accountancy/journal/expensereportsjournal.php?leftmenu=journal",$langs->trans("ExpenseReportsJournal"),1,$user->rights->accounting->comptarapport->lire,'','accountancy','accountancy_journal'); - */ } if (!empty($conf->ftp->enabled) && $mainmenu == 'ftp') // Entry for FTP diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index 0b08dce9beb..2a67d43c1e3 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -119,7 +119,7 @@ class MenuManager /** - * Show menu + * Show menu. * Menu defined in sql tables were stored into $this->tabMenu BEFORE this is called. * * @param string $mode 'top', 'topnb', 'left', 'jmobile' (used to get full xml ul/li menu) diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index dba6dd2f4a4..cc27a4ae825 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -120,7 +120,7 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = 'enabled'=> ((!empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) ) - || !empty($conf->fournisseur->enabled) + || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) ), 'perms'=> (!empty($user->rights->societe->lire) || !empty($user->rights->fournisseur->lire)), 'module'=>'societe|fournisseur' @@ -227,19 +227,21 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = $tmpentry = array( 'enabled'=>(!empty($conf->propal->enabled) || !empty($conf->commande->enabled) || - !empty($conf->supplier_order->enabled) || - !empty($conf->supplier_proposal->enabled) || - !empty($conf->contrat->enabled) || + !empty($conf->fournisseur->enabled) || + !empty($conf->supplier_proposal->enabled) || + !empty($conf->supplier_order->enabled) || + !empty($conf->contrat->enabled) || !empty($conf->ficheinter->enabled) ) ? 1 : 0, 'perms'=>(!empty($user->rights->propal->lire) || !empty($user->rights->commande->lire) || - !empty($user->rights->supplier_order->lire) || + !empty($user->rights->fournisseur->lire) || !empty($user->rights->supplier_proposal->lire) || + !empty($user->rights->supplier_order->lire) || !empty($user->rights->contrat->lire) || !empty($user->rights->ficheinter->lire) ), - 'module'=>'propal|commande|supplier_order|supplier_proposal|contrat|ficheinter' + 'module'=>'propal|commande|supplier_proposal|supplier_order|contrat|ficheinter' ); $onlysupplierorder = !empty($user->rights->fournisseur->commande->lire) && @@ -848,7 +850,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM } // Suppliers - if (!empty($conf->societe->enabled) && (!empty($conf->fournisseur->enabled) || !empty($conf->supplier_proposal->enabled))) + if (!empty($conf->societe->enabled) && ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) || !empty($conf->supplier_proposal->enabled))) { $langs->load("suppliers"); $newmenu->add("/societe/list.php?type=f&leftmenu=suppliers", $langs->trans("ListSuppliersShort"), 1, ($user->rights->fournisseur->lire || $user->rights->supplier_proposal->lire), '', $mainmenu, 'suppliers'); @@ -868,7 +870,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu->add("/categories/index.php?leftmenu=cat&type=2", $menutoshow, 1, $user->rights->categorie->lire, '', $mainmenu, 'cat'); } // Categories suppliers - if (!empty($conf->fournisseur->enabled)) + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { $newmenu->add("/categories/index.php?leftmenu=catfournish&type=1", $langs->trans("SuppliersCategoriesShort"), 1, $user->rights->categorie->lire); } @@ -880,7 +882,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu->add("/contact/list.php?leftmenu=contacts", $langs->trans("List"), 1, $user->rights->societe->contact->lire); if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) $newmenu->add("/contact/list.php?leftmenu=contacts&type=p", $langs->trans("Prospects"), 2, $user->rights->societe->contact->lire); if (empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) $newmenu->add("/contact/list.php?leftmenu=contacts&type=c", $langs->trans("Customers"), 2, $user->rights->societe->contact->lire); - if (!empty($conf->fournisseur->enabled)) $newmenu->add("/contact/list.php?leftmenu=contacts&type=f", $langs->trans("Suppliers"), 2, $user->rights->societe->contact->lire); + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) $newmenu->add("/contact/list.php?leftmenu=contacts&type=f", $langs->trans("Suppliers"), 2, $user->rights->societe->contact->lire); $newmenu->add("/contact/list.php?leftmenu=contacts&type=o", $langs->trans("ContactOthers"), 2, $user->rights->societe->contact->lire); //$newmenu->add("/contact/list.php?userid=$user->id", $langs->trans("MyContacts"), 1, $user->rights->societe->contact->lire); @@ -1211,7 +1213,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM if (!empty($conf->banque->enabled)) { $newmenu->add("/compta/bank/list.php?mainmenu=accountancy&leftmenu=accountancy_admin&search_status=-1", $langs->trans("MenuBankAccounts"), 1, $user->rights->accounting->chartofaccount, '', $mainmenu, 'accountancy_admin_bank', 70); } - if (!empty($conf->facture->enabled) || !empty($conf->fournisseur->enabled)) { + if (!empty($conf->facture->enabled) || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled))) { $newmenu->add("/admin/dict.php?id=10&from=accountancy&search_country_id=".$mysoc->country_id."&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans("MenuVatAccounts"), 1, $user->rights->accounting->chartofaccount, '', $mainmenu, 'accountancy_admin_default', 80); } if (!empty($conf->tax->enabled)) { @@ -1285,7 +1287,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM // Must match array $sourceList defined into journals_list.php if ($objp->nature == 2 && !empty($conf->facture->enabled)) $nature = "sells"; - if ($objp->nature == 3 && !empty($conf->fournisseur->enabled)) $nature = "purchases"; + if ($objp->nature == 3 && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled))) $nature = "purchases"; if ($objp->nature == 4 && !empty($conf->banque->enabled)) $nature = "bank"; if ($objp->nature == 5 && !empty($conf->expensereport->enabled)) $nature = "expensereports"; if ($objp->nature == 1) $nature = "various"; @@ -1447,7 +1449,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu->add("/asset/list.php?leftmenu=asset&mainmenu=accountancy", $langs->trans("MenuListAssets"), 1, $user->rights->asset->read); $newmenu->add("/asset/type.php?leftmenu=asset_type", $langs->trans("MenuTypeAssets"), 1, $user->rights->asset->read, '', $mainmenu, 'asset_type'); if ($usemenuhider || empty($leftmenu) || preg_match('/asset_type/', $leftmenu)) { - $newmenu->add("/asset/type.php?leftmenu=asset_type&action=create", $langs->trans("MenuNewTypeAssets"), 2, $user->rights->asset->configurer); + $newmenu->add("/asset/type.php?leftmenu=asset_type&action=create", $langs->trans("MenuNewTypeAssets"), 2, (empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->asset->write) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->asset->setup_advance)); $newmenu->add("/asset/type.php?leftmenu=asset_type", $langs->trans("MenuListTypeAssets"), 2, $user->rights->asset->read); } } @@ -1905,40 +1907,6 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu = $menuArbo->menuLeftCharger($newmenu, $mainmenu, $leftmenu, (empty($user->socid) ? 0 : 1), 'eldy', $tabMenu); //var_dump($newmenu->liste); // - // We update newmenu for special dynamic menus - if (!empty($user->rights->banque->lire) && $mainmenu == 'bank') // Entry for each bank account - { - require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; - - $sql = "SELECT rowid, label, courant, rappro"; - $sql .= " FROM ".MAIN_DB_PREFIX."bank_account"; - $sql .= " WHERE entity = ".$conf->entity; - $sql .= " AND clos = 0"; - $sql .= " ORDER BY label"; - - $resql = $db->query($sql); - if ($resql) - { - $numr = $db->num_rows($resql); - $i = 0; - - if ($numr > 0) $newmenu->add('/compta/bank/list.php', $langs->trans("BankAccounts"), 0, $user->rights->banque->lire); - - while ($i < $numr) - { - $objp = $db->fetch_object($resql); - $newmenu->add('/compta/bank/card.php?id='.$objp->rowid, $objp->label, 1, $user->rights->banque->lire); - if ($objp->rappro && $objp->courant != Account::TYPE_CASH && empty($objp->clos)) // If not cash account and not closed and can be reconciliate - { - $newmenu->add('/compta/bank/bankentries_list.php?action=reconcile&contextpage=banktransactionlist-'.$objp->rowid.'&account='.$objp->rowid.'&id='.$objp->rowid.'&search_conciliated=0', $langs->trans("Conciliate"), 2, $user->rights->banque->consolidate); - } - $i++; - } - } - else dol_print_error($db); - $db->free($resql); - } - if (!empty($conf->ftp->enabled) && $mainmenu == 'ftp') // Entry for FTP { $MAXFTP = 20; diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index 96c334a1de7..5276a509ae5 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -308,8 +308,6 @@ class MenuManager $lastlevel2[$val2['level']] = 'greyed'; } } - //var_dump($val2['level']); - //var_dump($lastlevel2); print $val2['titre']; if ($relurl2) { diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index cd3fe7922ee..24811ad854d 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -2279,7 +2279,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it $const_name = 'MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i', '', get_class($this))); print ' -
    +
    '; @@ -2295,9 +2295,17 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it { print img_object($alttext, 'generic', 'class="inline-block valignmiddle"'); } - print 'getVersion(1).'">'; - print $this->getVersion(1); - print ''; + + $version = $this->getVersion(0); + $versiontrans = ''; + if (preg_match('/development/i', $version)) $versiontrans .= 'warning'; + if (preg_match('/experimental/i', $version)) $versiontrans .= 'warning'; + if (preg_match('/deprecated/i', $version)) $versiontrans .= 'warning'; + if ($this->isCoreOrExternalModule() == 'external' || preg_match('/development|experimental|deprecated/i', $version)) { + print 'getVersion(1).'">'; + print $this->getVersion(1); + print ''; + } /*print ''; print '
    '; @@ -2313,8 +2321,8 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it print '
    - '.$this->getName().' - '.nl2br($this->getDesc()).''; + '.$this->getName().' + '.nl2br($this->getDesc()).''; /*print 'getVersion(1).'">'; print $this->getVersion(1); diff --git a/htdocs/core/modules/action/rapport.pdf.php b/htdocs/core/modules/action/rapport.pdf.php index b8b458c4b2a..1fb4e33a6c6 100644 --- a/htdocs/core/modules/action/rapport.pdf.php +++ b/htdocs/core/modules/action/rapport.pdf.php @@ -174,7 +174,7 @@ class CommActionRapport $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right - $nbpage = $this->_pages($pdf, $outputlangs); // Write content + $nbpage = $this->_pages($pdf, $outputlangs); // Write content if (method_exists($pdf, 'AliasNbPages')) $pdf->AliasNbPages(); $pdf->Close(); diff --git a/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php b/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php index 0ce2f2bbbb2..23868eef643 100644 --- a/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php +++ b/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php @@ -227,14 +227,14 @@ class pdf_sepamandate extends ModeleBankAccountDoc $posY += 2; $pdf->SetXY($this->marge_gauche, $posY); - $pdf->MultiCell($this->page_largeur - $this->marge_gauche - $this->marge_droite, 3, $outputlangs->transnoentitiesnoconv("RUMLong").' ('.$outputlangs->transnoentitiesnoconv("RUM").')'.' : '.$object->rum, 0, 'L'); + $pdf->MultiCell($this->page_largeur - $this->marge_gauche - $this->marge_droite, 3, $outputlangs->transnoentitiesnoconv("RUMLong").' ('.$outputlangs->transnoentitiesnoconv("RUM").') : '.$object->rum, 0, 'L'); $posY = $pdf->GetY(); $posY += 2; $pdf->SetXY($this->marge_gauche, $posY); $ics = ''; if (!empty($conf->global->PRELEVEMENT_ICS)) $ics = $conf->global->PRELEVEMENT_ICS; - $pdf->MultiCell($this->page_largeur - $this->marge_gauche - $this->marge_droite, 3, $outputlangs->transnoentitiesnoconv("CreditorIdentifier").' ('.$outputlangs->transnoentitiesnoconv("ICS").')'.' : '.$ics, 0, 'L'); + $pdf->MultiCell($this->page_largeur - $this->marge_gauche - $this->marge_droite, 3, $outputlangs->transnoentitiesnoconv("CreditorIdentifier").' ('.$outputlangs->transnoentitiesnoconv("ICS").') : '.$ics, 0, 'L'); $posY = $pdf->GetY(); $posY += 1; diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index b8740fa60de..3838b9146e6 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -7,7 +7,7 @@ * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2015 Marcos García * Copyright (C) 2017-2018 Ferran Marcet - * Copyright (C) 2018 Frédéric France + * Copyright (C) 2018-2019 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -372,6 +372,12 @@ class pdf_einstein extends ModelePDFCommandes if (!empty($salerepobj->signature)) $notetoshow = dol_concatdesc($notetoshow, $salerepobj->signature); } } + // Extrafields in note + $extranote = $this->getExtrafieldsInHtml($object, $outputlangs); + if (!empty($extranote)) { + $notetoshow = dol_concatdesc($notetoshow, $extranote); + } + if ($notetoshow) { $tab_top -= 2; diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index 1a8f13ea1af..2e0733f1ba2 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -214,14 +214,14 @@ class pdf_rouget extends ModelePdfExpedition $objphoto = new Product($this->db); $objphoto->fetch($object->lines[$i]->fk_product); - if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) + if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { - $pdir = get_exdir($object->lines[$i]->fk_product, 2, 0, 0, $objphoto, 'product') . $object->lines[$i]->fk_product ."/photos/"; + $pdir = get_exdir($object->lines[$i]->fk_product, 2, 0, 0, $objphoto, 'product').$object->lines[$i]->fk_product."/photos/"; $dir = $conf->product->dir_output.'/'.$pdir; } else { - $pdir = get_exdir(0, 2, 0, 0, $objphoto, 'product') . dol_sanitizeFileName($objphoto->ref).'/'; + $pdir = get_exdir(0, 2, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; $dir = $conf->product->dir_output.'/'.$pdir; } diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index f5119791432..3a66a8ae961 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -354,12 +354,12 @@ class pdf_standard extends ModeleExpenseReport // Loop on each lines $i = 0; while ($i < $nblines) { - $pdf->SetFont('', '', $default_font_size - 2); // Into loop to work with multipage + $pdf->SetFont('', '', $default_font_size - 2); // Into loop to work with multipage $pdf->SetTextColor(0, 0, 0); $pdf->setTopMargin($tab_top_newpage); if (empty($showpricebeforepagebreak)) { - $pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it. + $pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it. } else { $pdf->setPageOrientation('', 1, $heightforfooter + $heightforfreetext + $heightforinfotot); // The only function to edit the bottom margin of current page to set it. } @@ -385,8 +385,8 @@ class pdf_standard extends ModeleExpenseReport $pdf->setPage($pageposafter + 1); $showpricebeforepagebreak = 1; $nexY = $tab_top_newpage; - $nexY += ($pdf->getFontSize() * 1.3); // Passe espace entre les lignes - $pdf->SetFont('', '', $default_font_size - 2); // Into loop to work with multipage + $nexY += ($pdf->getFontSize() * 1.3); // Passe espace entre les lignes + $pdf->SetFont('', '', $default_font_size - 2); // Into loop to work with multipage $pdf->SetTextColor(0, 0, 0); $pdf->setTopMargin($tab_top_newpage); @@ -746,7 +746,7 @@ class pdf_standard extends ModeleExpenseReport $pdf->SetXY($posx, $posy); $pdf->SetFont('', 'B', $default_font_size + 2); $pdf->SetTextColor(111, 81, 124); - $pdf->MultiCell($this->page_largeur - $this->marge_droite - $posx, 3, $object->getLibStatut(0), '', 'R'); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $posx, 3, $outputlangs->transnoentities($object->statuts_short[$object->status]), '', 'R'); if ($showaddress) { // Sender properties diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index cc26c4ba13b..cf91ec4806c 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -8,7 +8,7 @@ * Copyright (C) 2012-2014 Raphaël Doursenaud * Copyright (C) 2015 Marcos García * Copyright (C) 2017-2018 Ferran Marcet - * Copyright (C) 2018 Frédéric France + * Copyright (C) 2018-2020 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -356,7 +356,7 @@ class pdf_crabe extends ModelePDFFactures if (!empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); // Set certificate - $cert=empty($user->conf->CERTIFICATE_CRT) ? '' : $user->conf->CERTIFICATE_CRT; + $cert = empty($user->conf->CERTIFICATE_CRT) ? '' : $user->conf->CERTIFICATE_CRT; // If use has no certificate, we try to take the company one if (!$cert) { $cert = empty($conf->global->CERTIFICATE_CRT) ? '' : $conf->global->CERTIFICATE_CRT; @@ -372,7 +372,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->setSignature($cert, $cert, $this->emetteur->name, '', 2, $info); } - $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right + $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right // Set $this->atleastonediscount if you have at least one discount for ($i = 0; $i < $nblines; $i++) @@ -456,6 +456,11 @@ class pdf_crabe extends ModelePDFFactures if (!empty($salerepobj->signature)) $notetoshow = dol_concatdesc($notetoshow, $salerepobj->signature); } } + // Extrafields in note + $extranote = $this->getExtrafieldsInHtml($object, $outputlangs); + if (!empty($extranote)) { + $notetoshow = dol_concatdesc($notetoshow, $extranote); + } if ($notetoshow) { $tab_top -= 2; @@ -1419,7 +1424,6 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($col2x - $col1x, $tab2_hl, $retainedWarrantyToPayOn, $useborder, 'L', 1); $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); $pdf->MultiCell($largcol2, $tab2_hl, price($retainedWarranty), $useborder, 'R', 1); - } } } diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 6fad6fc4665..8f48f31fddb 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -1272,7 +1272,15 @@ class pdf_sponge extends ModelePDFFactures $default_font_size = pdf_getPDFFontSize($outputlangs); - $tab2_top = $posy; + $outputlangsbis = null; + if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) { + $outputlangsbis = new Translate('', $conf); + $outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE); + $outputlangsbis->loadLangs(array("main", "dict", "companies", "bills", "products", "propal")); + $default_font_size--; + } + + $tab2_top = $posy; $tab2_hl = 4; $pdf->SetFont('', '', $default_font_size - 1); @@ -1287,13 +1295,6 @@ class pdf_sponge extends ModelePDFFactures $useborder = 0; $index = 0; - $outputlangsbis = null; - if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) { - $outputlangsbis = new Translate('', $conf); - $outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE); - $outputlangsbis->loadLangs(array("main", "dict", "companies", "bills", "products", "propal")); - } - // Add trigger to allow to edit $object $parameters = array( 'object' => &$object, @@ -1708,7 +1709,7 @@ class pdf_sponge extends ModelePDFFactures $index++; $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); - $retainedWarrantyToPayOn = $outputlangs->transnoentities("RetainedWarranty").' ('.$object->retained_warranty.'%)'; + $retainedWarrantyToPayOn = $outputlangs->transnoentities("RetainedWarranty").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities("RetainedWarranty") : '').' ('.$object->retained_warranty.'%)'; $retainedWarrantyToPayOn .= !empty($object->retained_warranty_date_limit) ? ' '.$outputlangs->transnoentities("toPayOn", dol_print_date($object->retained_warranty_date_limit, 'day')) : ''; $pdf->MultiCell($col2x - $col1x, $tab2_hl, $retainedWarrantyToPayOn, $useborder, 'L', 1); @@ -2028,7 +2029,12 @@ class pdf_sponge extends ModelePDFFactures $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); - $pdf->MultiCell($w, 3, $outputlangs->transnoentities("DateInvoice")." : ".dol_print_date($object->date, "day", false, $outputlangs), '', 'R'); + + $title = $outputlangs->transnoentities("DateInvoice"); + if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && is_object($outputlangsbis)) { + $title .= ' - '.$outputlangsbis->transnoentities("DateInvoice"); + } + $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date, "day", false, $outputlangs), '', 'R'); if (!empty($conf->global->INVOICE_POINTOFTAX_DATE)) { @@ -2043,7 +2049,11 @@ class pdf_sponge extends ModelePDFFactures $posy += 3; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); - $pdf->MultiCell($w, 3, $outputlangs->transnoentities("DateDue")." : ".dol_print_date($object->date_lim_reglement, "day", false, $outputlangs, true), '', 'R'); + $title = $outputlangs->transnoentities("DateDue"); + if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && is_object($outputlangsbis)) { + $title .= ' - '.$outputlangsbis->transnoentities("DateDue"); + } + $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date_lim_reglement, "day", false, $outputlangs, true), '', 'R'); } if ($object->thirdparty->code_client) diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index 85392dd21fa..de32e84d43a 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -462,39 +462,39 @@ class ImportCsv extends ModeleImports $errorforthistable++; $error++; }*/ - $param_array = array('', $newval, 0, $arrayrecord[0]['val']); // Param to fetch parent from account, in chart. + $param_array = array('', $newval, 0, $arrayrecord[0]['val']); // Param to fetch parent from account, in chart. } call_user_func_array(array($classinstance, $method), $param_array); // If not found, try the fetch from label - if (! ($classinstance->id != '') && $objimport->array_import_convertvalue[0][$val]['rule']=='fetchidfromcodeorlabel') + if (!($classinstance->id != '') && $objimport->array_import_convertvalue[0][$val]['rule'] == 'fetchidfromcodeorlabel') { $param_array = array('', '', $newval); call_user_func_array(array($classinstance, $method), $param_array); } - $this->cacheconvert[$file.'_'.$class.'_'.$method.'_'][$newval]=$classinstance->id; + $this->cacheconvert[$file.'_'.$class.'_'.$method.'_'][$newval] = $classinstance->id; //print 'We have made a '.$class.'->'.$method.' to get id from code '.$newval.'. '; if ($classinstance->id != '') // id may be 0, it is a found value { - $newval=$classinstance->id; + $newval = $classinstance->id; } else { - if (!empty($objimport->array_import_convertvalue[0][$val]['dict'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldValueNotIn', $key, $newval, 'code', $langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['dict'])); - elseif (!empty($objimport->array_import_convertvalue[0][$val]['element'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldRefNotIn', $key, $newval, $langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['element'])); - else $this->errors[$error]['lib']='ErrorBadDefinitionOfImportProfile'; - $this->errors[$error]['type']='FOREIGNKEY'; + if (!empty($objimport->array_import_convertvalue[0][$val]['dict'])) $this->errors[$error]['lib'] = $langs->trans('ErrorFieldValueNotIn', $key, $newval, 'code', $langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['dict'])); + elseif (!empty($objimport->array_import_convertvalue[0][$val]['element'])) $this->errors[$error]['lib'] = $langs->trans('ErrorFieldRefNotIn', $key, $newval, $langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['element'])); + else $this->errors[$error]['lib'] = 'ErrorBadDefinitionOfImportProfile'; + $this->errors[$error]['type'] = 'FOREIGNKEY'; $errorforthistable++; $error++; } } } } - elseif ($objimport->array_import_convertvalue[0][$val]['rule']=='fetchidfromcodeandlabel') + elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'fetchidfromcodeandlabel') { - $isidorref='id'; - if (! is_numeric($newval) && $newval != '' && ! preg_match('/^id:/i', $newval)) $isidorref='ref'; - $newval=preg_replace('/^(id|ref):/i', '', $newval); + $isidorref = 'id'; + if (!is_numeric($newval) && $newval != '' && !preg_match('/^id:/i', $newval)) $isidorref = 'ref'; + $newval = preg_replace('/^(id|ref):/i', '', $newval); if ($isidorref == 'ref') { $file = (empty($objimport->array_import_convertvalue[0][$val]['classfile']) ? $objimport->array_import_convertvalue[0][$val]['file'] : $objimport->array_import_convertvalue[0][$val]['classfile']); diff --git a/htdocs/core/modules/modAdherent.class.php b/htdocs/core/modules/modAdherent.class.php index f2fc9af2f9e..911a4bbd5b9 100644 --- a/htdocs/core/modules/modAdherent.class.php +++ b/htdocs/core/modules/modAdherent.class.php @@ -50,7 +50,7 @@ class modAdherent extends DolibarrModules $this->numero = 310; $this->family = "hr"; - $this->module_position = '55'; + $this->module_position = '06'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); $this->description = "Management of members of a foundation or association"; diff --git a/htdocs/core/modules/modAsset.class.php b/htdocs/core/modules/modAsset.class.php index 1efeec1ff43..c11cf34d257 100644 --- a/htdocs/core/modules/modAsset.class.php +++ b/htdocs/core/modules/modAsset.class.php @@ -69,7 +69,7 @@ class modAsset extends DolibarrModules // Name of image file used for this module. // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' - $this->picto = 'generic'; + $this->picto = 'accounting'; // Defined all module parts (triggers, login, substitutions, menus, css, etc...) // for default path (eg: /asset/core/xxxxx) (0=disable, 1=enable) @@ -103,7 +103,7 @@ class modAsset extends DolibarrModules // 1=>array('ASSETS_MYNEWCONST2','chaine','myvalue','This is another constant to add',0, 'current', 1) // ); $this->const = array( - 1=>array('ASSET_MYCONSTANT', 'chaine', 'avalue', 'This is a constant to add', 1, 'allentities', 1) + //1=>array('ASSET_MYCONSTANT', 'chaine', 'avalue', 'This is a constant to add', 1, 'allentities', 1) ); @@ -200,7 +200,7 @@ class modAsset extends DolibarrModules $this->rights[$r][1] = 'Setup types of asset'; // Permission label $this->rights[$r][2] = 'w'; $this->rights[$r][3] = 0; // Permission by default for new user (0/1) - $this->rights[$r][4] = 'advanced_configurer'; // In php code, permission will be checked by test if ($user->rights->asset->level1->level2) + $this->rights[$r][4] = 'setup_advance'; // In php code, permission will be checked by test if ($user->rights->asset->level1->level2) $this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->asset->level1->level2) // Menus diff --git a/htdocs/core/modules/modBanque.class.php b/htdocs/core/modules/modBanque.class.php index b51ac199ff5..822ebd81e03 100644 --- a/htdocs/core/modules/modBanque.class.php +++ b/htdocs/core/modules/modBanque.class.php @@ -143,6 +143,7 @@ class modBanque extends DolibarrModules //-------- $r = 0; + // Bank lines $r++; $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = 'Ecritures bancaires et releves'; @@ -174,6 +175,7 @@ class modBanque extends DolibarrModules $this->export_sql_end[$r] .= ' AND ba.entity IN ('.getEntity('bank_account').')'; $this->export_sql_order[$r] = ' ORDER BY b.datev, b.num_releve'; + // $r++; $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = 'Bordereaux remise Chq/Fact'; diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index 61a4dd67d5c..4f0c1e04307 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -120,7 +120,7 @@ class modCategorie extends DolibarrModules $this->export_code[$r] = 'category_'.$r; $this->export_label[$r] = 'CatSupList'; $this->export_icon[$r] = 'category'; - $this->export_enabled[$r] = '$conf->fournisseur->enabled'; + $this->export_enabled[$r] = '!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)'; $this->export_permission[$r] = array(array("categorie", "lire"), array("fournisseur", "lire")); $this->export_fields_array[$r] = array( 'u.rowid'=>"CategId", 'u.label'=>"Label", 'u.description'=>"Description", 's.rowid'=>'IdThirdParty', 's.nom'=>'Name', 's.prefix_comm'=>"Prefix", @@ -423,7 +423,7 @@ class modCategorie extends DolibarrModules ); $typeexample = ""; if ($conf->product->enabled) { $typeexample .= ($typeexample ? "/" : "")."0=Product"; } - if ($conf->fournisseur->enabled) { $typeexample .= ($typeexample ? "/" : "")."1=Supplier"; } + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { $typeexample .= ($typeexample ? "/" : "")."1=Supplier"; } if ($conf->societe->enabled) { $typeexample .= ($typeexample ? "/" : "")."2=Customer-Prospect"; } if ($conf->adherent->enabled) { $typeexample .= ($typeexample ? "/" : "")."3=Member"; } $this->import_examplevalues_array[$r] = array( @@ -491,7 +491,7 @@ class modCategorie extends DolibarrModules $this->import_examplevalues_array[$r] = array('cs.fk_categorie'=>"Imported category", 'cs.fk_socpeople'=>"123"); } - if (!empty($conf->fournisseur->enabled)) + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { // Suppliers $r++; diff --git a/htdocs/core/modules/modCollab.class.php b/htdocs/core/modules/modCollab.class.php index 5190c8c4d72..345a292cb92 100644 --- a/htdocs/core/modules/modCollab.class.php +++ b/htdocs/core/modules/modCollab.class.php @@ -55,7 +55,7 @@ class modCollab extends DolibarrModules // 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); // Name of image file used for this module. - $this->picto = 'globe'; + $this->picto = 'website'; // Data directories to create when module is enabled $this->dirs = array("/collab/temp"); diff --git a/htdocs/core/modules/modCommande.class.php b/htdocs/core/modules/modCommande.class.php index c548b18fffb..5c9ca314bef 100644 --- a/htdocs/core/modules/modCommande.class.php +++ b/htdocs/core/modules/modCommande.class.php @@ -51,7 +51,7 @@ class modCommande extends DolibarrModules $this->numero = 25; $this->family = "crm"; - $this->module_position = '23'; + $this->module_position = '11'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); $this->description = "Gestion des commandes clients"; diff --git a/htdocs/core/modules/modContrat.class.php b/htdocs/core/modules/modContrat.class.php index 7aadc941180..d3b1c56b054 100644 --- a/htdocs/core/modules/modContrat.class.php +++ b/htdocs/core/modules/modContrat.class.php @@ -47,7 +47,7 @@ class modContrat extends DolibarrModules $this->numero = 54; $this->family = "crm"; - $this->module_position = '35'; + $this->module_position = '41'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); $this->description = "Gestion des contrats de services"; diff --git a/htdocs/core/modules/modDon.class.php b/htdocs/core/modules/modDon.class.php index 003fd61b578..88b7400cc36 100644 --- a/htdocs/core/modules/modDon.class.php +++ b/htdocs/core/modules/modDon.class.php @@ -54,7 +54,7 @@ class modDon extends DolibarrModules $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Name of png file (without png) used for this module. // Png file must be in theme/yourtheme/img directory under name object_pictovalue.png. - $this->picto = 'bill'; + $this->picto = 'donation'; // Data directories to create when module is enabled $this->dirs = array("/don/temp"); diff --git a/htdocs/core/modules/modECM.class.php b/htdocs/core/modules/modECM.class.php index b6efd6a05f1..4d314644fb4 100644 --- a/htdocs/core/modules/modECM.class.php +++ b/htdocs/core/modules/modECM.class.php @@ -58,7 +58,7 @@ class modECM extends DolibarrModules // Key used in llx_const table to save module status enabled/disabled (XXX is id value) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Name of png file (without png) used for this module - $this->picto = 'dir'; + $this->picto = 'folder'; // Data directories to create when module is enabled $this->dirs = array("/ecm/temp"); diff --git a/htdocs/core/modules/modEmailCollector.class.php b/htdocs/core/modules/modEmailCollector.class.php index cba555391d7..ce8ea9436e8 100644 --- a/htdocs/core/modules/modEmailCollector.class.php +++ b/htdocs/core/modules/modEmailCollector.class.php @@ -282,8 +282,10 @@ class modEmailCollector extends DolibarrModules $tmpresql = $this->db->query($tmpsql); if ($tmpresql) { if ($this->db->num_rows($tmpresql) == 0) { + $descriptionA1 = 'This collector will scan your mailbox to find emails that match some rules and create automatically a ticket (Module Ticket must be enabled) with the email informations. You can use this collector if you provide some support by email, so your ticket request will be automatically generated.'; + $descriptionA1 .= ' If the collector Collect_Responses is also enabled, when you send an email from the ticket, you may also see answers of your customers or partners directly on the ticket view.'; $sqlforexampleA1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleA1 .= " VALUES (".$conf->entity.", 'Collect_Ticket_Requets', 'Example to collect ticket requests', 'This collector will scan your mailbox to find emails that match some rules and create automatically a ticket (Module Ticket must be enabled) with the email informations. You can use this collector if you provide some support by email, so your ticket request will be automatically generated. If the collector Collect_Responses is also enabled, when you send an email from the ticket, you may also see answers of your customers or partners directly on the ticket view.', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleA1 .= " VALUES (".$conf->entity.", 'Collect_Ticket_Requets', 'Example to collect ticket requests', '".$this->db->escape($descriptionA1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; $sqlforexampleA2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; $sqlforexampleA2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; $sqlforexampleA3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, rulevalue, date_creation, fk_user_creat, status)"; @@ -301,8 +303,9 @@ class modEmailCollector extends DolibarrModules $tmpresql = $this->db->query($tmpsql); if ($tmpresql) { if ($this->db->num_rows($tmpresql) == 0) { + $descriptionB1 = 'This collector will scan your mailbox to find all emails that are an answer of an email sent from your application. An event with the email response will be recorded at the good place (Module Agenda must be enabled). For example, if your send a commercial proposal, order or invoice by email and your customer answers your email, the system will automatically find the answer and add it into your ERP.'; $sqlforexampleB1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleB1 .= " VALUES (".$conf->entity.", 'Collect_Responses', 'Example to collect any email responses', 'This collector will scan your mailbox to find all emails that are an answer of an email sent from your application. An event with the email response will be recorded at the good place (Module Agenda must be enabled). For example, if your send a commercial proposal, order or invoice by email and your customer answers your email, the system will automatically find the answer and add it into your ERP.', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleB1 .= " VALUES (".$conf->entity.", 'Collect_Responses', 'Example to collect any email responses', '".$this->db->escape($descriptionB1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; $sqlforexampleB2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; $sqlforexampleB2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses' and entity = ".$conf->entity."), 'withtrackingid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; $sqlforexampleB3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectoraction (fk_emailcollector, type, date_creation, fk_user_creat, status)"; @@ -317,8 +320,11 @@ class modEmailCollector extends DolibarrModules $tmpresql = $this->db->query($tmpsql); if ($tmpresql) { if ($this->db->num_rows($tmpresql) == 0) { + $descriptionC1 = "This collector will scan your mailbox to find emails that match some rules and create automatically a lead (Module Project must be enabled) with the email informations. You can use this collector if you want to follow your lead using the module Project (1 lead = 1 project), so your leads will be automatically generated."; + $descriptionC1 .= " If the collector Collect_Responses is also enabled, when you send an email from your leads, proposals or any other object, you may also see answers of your customers or partners directly on the application.
    "; + $descriptionC1 .= "Note: With this initial example, the title of the lead is generated including the email. If the thirdparty can't be found in database (new customer), the lead will be attached to the thirdparty with ID 1."; $sqlforexampleC1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleC1 .= " VALUES (".$conf->entity.", 'Collect_Leads', 'Example to collect leads', 'This collector will scan your mailbox to find emails that match some rules and create automatically a lead (Module Project must be enabled) with the email informations. You can use this collector if you want to follow your lead using the module Project (1 lead = 1 project), so your leads will be automatically generated. If the collector Collect_Responses is also enabled, when you send an email from your leads, proposals or any other object, you may also see answers of your customers or partners directly on the application.
    Note: With this initial example, the title of the lead is generated including the email. If the thirdparty can''t be found in database (new customer), the lead will be attached to the thirdparty with ID 1.', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleC1 .= " VALUES (".$conf->entity.", 'Collect_Leads', 'Example to collect leads', '".$this->db->escape($descriptionC1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; $sqlforexampleC2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; $sqlforexampleC2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".$conf->entity."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; $sqlforexampleC3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, rulevalue, date_creation, fk_user_creat, status)"; diff --git a/htdocs/core/modules/modExpedition.class.php b/htdocs/core/modules/modExpedition.class.php index 93cd08c7001..19e22497a7a 100644 --- a/htdocs/core/modules/modExpedition.class.php +++ b/htdocs/core/modules/modExpedition.class.php @@ -57,7 +57,7 @@ class modExpedition extends DolibarrModules $this->version = 'dolibarr'; $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - $this->picto = "sending"; + $this->picto = "dolly"; // Data directories to create when module is enabled $this->dirs = array("/expedition/temp", diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 2dbd7195154..5043e2c2d28 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -48,7 +48,7 @@ class modFacture extends DolibarrModules $this->numero = 30; $this->family = "financial"; - $this->module_position = '10'; + $this->module_position = '11'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); $this->description = "Gestion des factures"; diff --git a/htdocs/core/modules/modFournisseur.class.php b/htdocs/core/modules/modFournisseur.class.php index b8bc72d423f..624311c74f0 100644 --- a/htdocs/core/modules/modFournisseur.class.php +++ b/htdocs/core/modules/modFournisseur.class.php @@ -347,7 +347,10 @@ class modFournisseur extends DolibarrModules case 'sellist': $tmp = ''; $tmpparam = unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null - if ($tmpparam['options'] && is_array($tmpparam['options'])) $tmp = array_shift(array_keys($tmpparam['options'])); + if ($tmpparam['options'] && is_array($tmpparam['options'])) { + $var = array_keys($tmpparam['options']); + $tmp = array_shift($var); + } if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) $typeFilter = "List:".$tmp; break; } @@ -420,7 +423,7 @@ class modFournisseur extends DolibarrModules '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", 'p.rowid'=>'PaymentId', 'pf.amount'=>'AmountPayment', - 'p.datep'=>'DatePayment', 'p.num_paiement'=>'PaymentNumber', 'project.rowid'=>'ProjectId', 'project.ref'=>'ProjectRef', 'project.title'=>'ProjectLabel' + 'p.datep'=>'DatePayment', 'p.num_paiement'=>'PaymentNumber', 'p.fk_bank'=>'IdTransaction', 'project.rowid'=>'ProjectId', 'project.ref'=>'ProjectRef', 'project.title'=>'ProjectLabel' ); //$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', @@ -432,7 +435,7 @@ class modFournisseur extends DolibarrModules '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.ref'=>"Text", 'f.ref_supplier'=>"Text", 'f.datec'=>"Date", 'f.datef'=>"Date", 'f.total_ht'=>"Numeric", 'f.total_ttc'=>"Numeric", 'f.total_tva'=>"Numeric", 'f.paye'=>"Boolean", 'f.fk_statut'=>'Status', 'f.note_public'=>"Text", 'pf.amount'=>'Numeric', - 'p.datep'=>'Date', 'p.num_paiement'=>'Numeric', 'project.ref'=>'Text', 'project.title'=>'Text' + 'p.datep'=>'Date', 'p.num_paiement'=>'Numeric', 'p.fk_bank'=>'Numeric', 'project.ref'=>'Text', 'project.title'=>'Text' ); $this->export_entities_array[$r] = array( 's.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', @@ -440,7 +443,7 @@ class modFournisseur extends DolibarrModules 's.code_compta'=>'company', 's.code_compta_fournisseur'=>'company', 's.tva_intra'=>'company', 'f.rowid'=>"invoice", 'f.ref'=>"invoice", 'f.ref_supplier'=>"invoice", 'f.datec'=>"invoice", 'f.datef'=>"invoice", 'f.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', 'project.rowid'=>'project', 'project.ref'=>'project', 'project.title'=>'project'); + 'p.datep'=>'payment', 'p.num_paiement'=>'payment', 'p.fk_bank'=>'account', 'project.rowid'=>'project', 'project.ref'=>'project', 'project.title'=>'project'); $this->export_dependencies_array[$r] = array('payment'=>'p.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them // Add extra fields object $sql = "SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn' AND entity IN (0, ".$conf->entity.")"; diff --git a/htdocs/core/modules/modGeoIPMaxmind.class.php b/htdocs/core/modules/modGeoIPMaxmind.class.php index c3fe9b3a18d..10515a78449 100644 --- a/htdocs/core/modules/modGeoIPMaxmind.class.php +++ b/htdocs/core/modules/modGeoIPMaxmind.class.php @@ -56,7 +56,7 @@ class modGeoIPMaxmind extends DolibarrModules // Name of image file used for this module. // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' // If file is in module/images directory, use this->picto=DOL_URL_ROOT.'/module/images/file.png' - $this->picto = 'globe'; + $this->picto = 'geoip'; // Data directories to create when module is enabled $this->dirs = array("/geoipmaxmind"); diff --git a/htdocs/core/modules/modLabel.class.php b/htdocs/core/modules/modLabel.class.php index 2ad05c19fe9..78ed97cd295 100644 --- a/htdocs/core/modules/modLabel.class.php +++ b/htdocs/core/modules/modLabel.class.php @@ -51,17 +51,17 @@ class modLabel extends DolibarrModules // Possible values for version are: 'development', 'experimental', 'dolibarr' or version $this->version = 'development'; $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - $this->picto='generic'; + $this->picto = 'generic'; // Data directories to create when module is enabled $this->dirs = array("/label/temp"); // Dependencies - $this->hidden = false; // A condition to hide module - $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled - $this->requiredby = array(); // List of module ids to disable if this one is disabled - $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5,4); // Minimum version of PHP required by module + $this->hidden = false; // A condition to hide module + $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled + $this->requiredby = array(); // List of module ids to disable if this one is disabled + $this->conflictwith = array(); // List of module class names as string this module is in conflict with + $this->phpmin = array(5, 4); // Minimum version of PHP required by module // Config pages // $this->config_page_url = array("label.php"); diff --git a/htdocs/core/modules/modLoan.class.php b/htdocs/core/modules/modLoan.class.php index e4e93e495a0..b1adf99940b 100644 --- a/htdocs/core/modules/modLoan.class.php +++ b/htdocs/core/modules/modLoan.class.php @@ -54,7 +54,7 @@ class modLoan extends DolibarrModules $this->version = 'dolibarr'; $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - $this->picto = 'bill'; + $this->picto = 'money-bill-alt'; // Data directories to create when module is enabled $this->dirs = array("/loan/temp"); diff --git a/htdocs/core/modules/modOpenSurvey.class.php b/htdocs/core/modules/modOpenSurvey.class.php index 3e5f3d8d62e..165cb9d5858 100644 --- a/htdocs/core/modules/modOpenSurvey.class.php +++ b/htdocs/core/modules/modOpenSurvey.class.php @@ -64,7 +64,7 @@ class modOpenSurvey extends DolibarrModules // Name of image file used for this module. // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' - $this->picto = 'opensurvey.png@opensurvey'; + $this->picto = '^date@opensurvey'; // Data directories to create when module is enabled $this->dirs = array(); diff --git a/htdocs/core/modules/modPropale.class.php b/htdocs/core/modules/modPropale.class.php index 1f9bdb0f37d..007e92e4277 100644 --- a/htdocs/core/modules/modPropale.class.php +++ b/htdocs/core/modules/modPropale.class.php @@ -49,7 +49,7 @@ class modPropale extends DolibarrModules $this->numero = 20; $this->family = "crm"; - $this->module_position = '22'; + $this->module_position = '10'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); $this->description = "Gestion des propositions commerciales"; diff --git a/htdocs/core/modules/modReceiptPrinter.class.php b/htdocs/core/modules/modReceiptPrinter.class.php index 47f62a21b08..818c090dcc0 100644 --- a/htdocs/core/modules/modReceiptPrinter.class.php +++ b/htdocs/core/modules/modReceiptPrinter.class.php @@ -135,11 +135,13 @@ class modReceiptPrinter extends DolibarrModules global $conf, $langs; // Clean before activation $this->remove($options); + + $templateexample = '\r\n\r\n\r\n\r\n\r\nFacture \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n'; $sql = array( "CREATE TABLE IF NOT EXISTS ".MAIN_DB_PREFIX."printer_receipt (rowid integer AUTO_INCREMENT PRIMARY KEY, name varchar(128), fk_type integer, fk_profile integer, parameter varchar(128), entity integer) ENGINE=innodb;", "CREATE TABLE IF NOT EXISTS ".MAIN_DB_PREFIX."printer_receipt_template (rowid integer AUTO_INCREMENT PRIMARY KEY, name varchar(128), template text, entity integer) ENGINE=innodb;", "DELETE FROM ".MAIN_DB_PREFIX."printer_receipt_template WHERE name = '".$langs->trans('Example')."';", - "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt_template (name,template,entity) VALUES ('".$langs->trans('Example')."', '\r\n\r\n\r\n\r\n\r\nFacture \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n', 1);", + "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt_template (name,template,entity) VALUES ('".$langs->trans('Example')."', '".$templateexample."', 1);", ); return $this->_init($sql, $options); } diff --git a/htdocs/core/modules/modReception.class.php b/htdocs/core/modules/modReception.class.php index 0a03515b246..c09915febb8 100644 --- a/htdocs/core/modules/modReception.class.php +++ b/htdocs/core/modules/modReception.class.php @@ -53,7 +53,7 @@ class modReception extends DolibarrModules $this->version = 'experimental'; $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - $this->picto = "sending"; + $this->picto = "dollyrevert"; // Data directories to create when module is enabled $this->dirs = array("/reception/receipt", @@ -197,7 +197,8 @@ class modReception extends DolibarrModules $this->export_entities_array[$r] = array( 's.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'd.nom'=>'company', 'co.label'=>'company', 'co.code'=>'company', 's.fk_pays'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.ape'=>'company', 's.siret'=>'company', 's.idprof4'=>'company', 's.idprof5'=>'company', 's.idprof6'=>'company', - 'c.rowid'=>"reception", 'c.ref'=>"reception", 'c.ref_supplier'=>"reception", 'c.fk_soc'=>"reception", 'c.date_creation'=>"reception", 'c.date_delivery'=>"reception", 'c.tracking_number'=>'reception', 'c.height'=>"reception", 'c.width'=>"reception", 'c.size'=>'reception', 'c.size_units'=>'reception', 'c.weight'=>"reception", 'c.weight_units'=>'reception', 'c.fk_statut'=>"reception", 'c.note_public'=>"reception", 'ed.rowid'=>'reception_line', 'ed.comment'=>'reception_line', 'ed.qty'=>"reception_line", + 'c.rowid'=>"reception", 'c.ref'=>"reception", 'c.ref_supplier'=>"reception", 'c.fk_soc'=>"reception", 'c.date_creation'=>"reception", 'c.date_delivery'=>"reception", 'c.tracking_number'=>'reception', 'c.height'=>"reception", 'c.width'=>"reception", 'c.size'=>'reception', 'c.size_units'=>'reception', 'c.weight'=>"reception", 'c.weight_units'=>'reception', 'c.fk_statut'=>"reception", 'c.note_public'=>"reception", + 'ed.rowid'=>'reception_line', 'ed.comment'=>'reception_line', 'ed.qty'=>"reception_line", 'p.rowid'=>'product', 'p.ref'=>'product', 'p.label'=>'product', 'p.weight'=>'product', 'p.weight_units'=>'product', 'p.volume'=>'product', 'p.volume_units'=>'product' ); if ($idcontacts && !empty($conf->global->RECEPTION_ADD_CONTACTS_IN_EXPORT)) $this->export_entities_array[$r] += array('sp.rowid'=>'contact', 'sp.lastname'=>'contact', 'sp.firstname'=>'contact', 'sp.note_public'=>'contact'); diff --git a/htdocs/core/modules/modService.class.php b/htdocs/core/modules/modService.class.php index e99f94aa154..b7933bcf3f4 100644 --- a/htdocs/core/modules/modService.class.php +++ b/htdocs/core/modules/modService.class.php @@ -589,7 +589,7 @@ class modService extends DolibarrModules 'sp.remise_percent'=>'DiscountQtyMin' )); - if ($conf->multicurrency->enabled) + if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r] = array_merge($this->import_fields_array[$r], array( 'sp.fk_multicurrency'=>'CurrencyCodeId', //ideally this should be automatically obtained from the CurrencyCode on the next line @@ -626,7 +626,7 @@ class modService extends DolibarrModules // TODO Make this field not required and calculate it from price and qty 'sp.remise_percent' => '20' )); - if ($conf->multicurrency->enabled) + if (!empty($conf->multicurrency->enabled)) { $this->import_examplevalues_array[$r] = array_merge($this->import_examplevalues_array[$r], array( 'sp.fk_multicurrency'=>'eg: 2, rowid for code of multicurrency currency', diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index 0d74fea9b24..a9be157d126 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -451,7 +451,7 @@ class modSociete extends DolibarrModules 's.fk_multicurrency' => 'MulticurrencyUsed', 's.multicurrency_code' => 'MulticurrencyCurrency' ); - if (! empty($conf->global->PRODUIT_MULTIPRICES)) $this->import_fields_array[$r]['s.price_level']='PriceLevel'; + if (!empty($conf->global->PRODUIT_MULTIPRICES)) $this->import_fields_array[$r]['s.price_level'] = 'PriceLevel'; // Add extra fields $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'societe' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); @@ -579,6 +579,7 @@ class modSociete extends DolibarrModules 'extra' => MAIN_DB_PREFIX.'socpeople_extrafields' ); // List of tables to insert into (insert done in same order) $this->import_fields_array[$r] = array(//field order as per structure of table llx_socpeople + 's.rowid' => 'Id', 's.datec' => "DateCreation", 's.fk_soc' => 'ThirdPartyName', 's.civility' => 'UserTitle', @@ -645,6 +646,7 @@ class modSociete extends DolibarrModules 's.datec' => '^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$' ); $this->import_examplevalues_array[$r] = array(//field order as per structure of table llx_socpeople + 's.rowid' => '1', 's.datec' => 'formatted as '.dol_print_date(dol_now(), '%Y-%m-%d'), 's.fk_soc' => 'Third Party name eg. TPBigCompany', 's.civility' => 'Title of civility eg: MR...matches field "code" in table "'.MAIN_DB_PREFIX.'c_civility"', @@ -666,6 +668,9 @@ class modSociete extends DolibarrModules 's.note_private' => "My private note", 's.note_public' => "My public note" ); + $this->import_updatekeys_array[$r] = array( + 's.rowid' => 'Id' + ); // Import Bank Accounts $r++; diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index 8c0f92b8db1..4dd1a740278 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -48,7 +48,7 @@ class modStock extends DolibarrModules $this->numero = 52; $this->family = "products"; - $this->module_position = '40'; + $this->module_position = '39'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); $this->description = "Gestion des stocks"; diff --git a/htdocs/core/modules/modTicket.class.php b/htdocs/core/modules/modTicket.class.php index 1fc755455de..0b5e54e9637 100644 --- a/htdocs/core/modules/modTicket.class.php +++ b/htdocs/core/modules/modTicket.class.php @@ -122,7 +122,12 @@ class modTicket extends DolibarrModules 'langs' => 'ticket', 'tabname' => array(MAIN_DB_PREFIX."c_ticket_type", MAIN_DB_PREFIX."c_ticket_severity", MAIN_DB_PREFIX."c_ticket_category", MAIN_DB_PREFIX."c_ticket_resolution"), 'tablib' => array("TicketDictType", "TicketDictSeverity", "TicketDictCategory", "TicketDictResolution"), - 'tabsql' => array('SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_type as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_severity as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_category as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_resolution as f'), + 'tabsql' => array( + 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_type as f', + 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_severity as f', + 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_category as f', + 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_resolution as f' + ), 'tabsqlsort' => array("pos ASC", "pos ASC", "pos ASC", "pos ASC"), 'tabfield' => array("pos,code,label,use_default", "pos,code,label,use_default", "pos,code,label,use_default", "pos,code,label,use_default"), 'tabfieldvalue' => array("pos,code,label,use_default", "pos,code,label,use_default", "pos,code,label,use_default", "pos,code,label,use_default"), diff --git a/htdocs/core/modules/modWebsite.class.php b/htdocs/core/modules/modWebsite.class.php index 3e3b4bae374..60cc93b5d39 100644 --- a/htdocs/core/modules/modWebsite.class.php +++ b/htdocs/core/modules/modWebsite.class.php @@ -55,7 +55,7 @@ class modWebsite extends DolibarrModules // 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); // Name of image file used for this module. - $this->picto = 'globe'; + $this->picto = 'website'; // Data directories to create when module is enabled $this->dirs = array("/website/temp"); diff --git a/htdocs/core/modules/product/modules_product.class.php b/htdocs/core/modules/product/modules_product.class.php index 5031b4079e4..80bc9f7ce0a 100644 --- a/htdocs/core/modules/product/modules_product.class.php +++ b/htdocs/core/modules/product/modules_product.class.php @@ -61,6 +61,9 @@ abstract class ModelePDFProduct extends CommonDocGenerator } } +/** + * Class template for classes of numbering product + */ abstract class ModeleProductCode { /** @@ -97,7 +100,6 @@ abstract class ModeleProductCode */ public function getExample($langs) { - $langs->load("bills"); return $langs->trans("NoExample"); } diff --git a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php index 9cfc52fc1de..542ea728f84 100644 --- a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php @@ -41,8 +41,8 @@ if (!empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/p if (!empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; if (!empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture-rec.class.php'; if (!empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; -if (!empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; -if (!empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; +if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; if (!empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; if (!empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; if (!empty($conf->deplacement->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; @@ -1008,13 +1008,13 @@ class doc_generic_project_odt extends ModelePDFProjects 'title' => "ListSupplierOrdersAssociatedProject", 'table' => 'commande_fournisseur', 'class' => 'CommandeFournisseur', - 'test' => $conf->fournisseur->enabled && $user->rights->fournisseur->commande->lire + 'test' => (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) && $user->rights->fournisseur->commande->lire ), 'invoice_supplier' => array( 'title' => "ListSupplierInvoicesAssociatedProject", 'table' => 'facture_fourn', 'class' => 'FactureFournisseur', - 'test' => $conf->fournisseur->enabled && $user->rights->fournisseur->facture->lire + 'test' => (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire ), 'contract' => array( 'title' => "ListContractAssociatedProject", diff --git a/htdocs/core/modules/project/doc/pdf_beluga.modules.php b/htdocs/core/modules/project/doc/pdf_beluga.modules.php index 707609767f5..4044676461e 100644 --- a/htdocs/core/modules/project/doc/pdf_beluga.modules.php +++ b/htdocs/core/modules/project/doc/pdf_beluga.modules.php @@ -34,17 +34,17 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; -if (!empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; -if (!empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; -if (!empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture-rec.class.php'; -if (!empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; -if (!empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; -if (!empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; -if (!empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; -if (!empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; -if (!empty($conf->deplacement->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; -if (!empty($conf->expensereport->enabled)) require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; -if (!empty($conf->agenda->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; +require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture-rec.class.php'; +require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; +require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; +require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; +require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; 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 8a38450697f..9b7b15a884d 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 @@ -130,7 +130,7 @@ class doc_generic_task_odt extends ModelePDFTask public function get_substitutionarray_object($object, $outputlangs, $array_key = 'object') { // phpcs:enable - global $conf; + global $conf, $extrafields; $resarray = array( $array_key.'_id'=>$object->id, @@ -150,11 +150,6 @@ class doc_generic_task_odt extends ModelePDFTask // Retrieve extrafields if (is_array($object->array_options) && count($object->array_options)) { - $extrafieldkey = $object->element; - - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $extrafields->fetch_name_optionals_label($extrafieldkey, true); $object->fetch_optionals(); $resarray = $this->fill_substitutionarray_with_extrafields($object, $resarray, $extrafields, $array_key, $outputlangs); @@ -167,16 +162,17 @@ class doc_generic_task_odt extends ModelePDFTask /** * Define array with couple substitution key => substitution value * - * @param array $task Task Object + * @param Task $task Task Object * @param Translate $outputlangs Lang object to use for output + * @param string $array_key Name of the key for return array * @return array Return a substitution array */ - public function get_substitutionarray_tasks($task, $outputlangs) + public function get_substitutionarray_tasks($task, $outputlangs, $array_key = 'task') { // phpcs:enable - global $conf; + global $conf, $extrafields; - return array( + $resarray = array( 'task_ref'=>$task->ref, 'task_fk_project'=>$task->fk_project, 'task_projectref'=>$task->projectref, @@ -184,7 +180,10 @@ class doc_generic_task_odt extends ModelePDFTask 'task_label'=>$task->label, 'task_description'=>$task->description, 'task_fk_parent'=>$task->fk_parent, - 'task_duration'=>$task->duration, + 'task_duration'=>$task->duration_effective, + 'task_duration_formated'=>convertSecondToTime($task->duration_effective, 'allhourmin'), + 'task_planned_workload'=>$task->planned_workload, + 'task_planned_workload_formated'=>convertSecondToTime($task->planned_workload, 'allhourmin'), 'task_progress'=>$task->progress, 'task_public'=>$task->public, 'task_date_start'=>dol_print_date($task->date_start, 'day'), @@ -192,6 +191,16 @@ class doc_generic_task_odt extends ModelePDFTask 'task_note_private'=>$task->note_private, 'task_note_public'=>$task->note_public ); + + // Retrieve extrafields + if (is_array($task->array_options) && count($task->array_options)) + { + $task->fetch_optionals(); + + $resarray = $this->fill_substitutionarray_with_extrafields($task, $resarray, $extrafields, $array_key, $outputlangs); + } + + return $resarray; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps @@ -474,7 +483,6 @@ class doc_generic_task_odt extends ModelePDFTask if (!file_exists($dir)) { - print '$dir'.$dir; if (dol_mkdir($dir) < 0) { $this->error = $langs->transnoentities("ErrorCanNotCreateDir", $dir); diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 07074888409..c285f560678 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -7,7 +7,7 @@ * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2015 Marcos García * Copyright (C) 2017-2018 Ferran Marcet - * Copyright (C) 2018 Frédéric France + * Copyright (C) 2018-2020 Frédéric France * Copyright (C) 2019 Pierre Ardoin * * This program is free software; you can redistribute it and/or modify @@ -439,6 +439,11 @@ class pdf_azur extends ModelePDFPropales if (!empty($salerepobj->signature)) $notetoshow = dol_concatdesc($notetoshow, $salerepobj->signature); } } + // Extrafields in note + $extranote = $this->getExtrafieldsInHtml($object, $outputlangs); + if (!empty($extranote)) { + $notetoshow = dol_concatdesc($notetoshow, $extranote); + } if (!empty($conf->global->MAIN_ADD_CREATOR_IN_NOTE) && $object->user_author_id > 0) { $tmpuser = new User($this->db); diff --git a/htdocs/core/modules/rapport/pdf_paiement.class.php b/htdocs/core/modules/rapport/pdf_paiement.class.php index 2377e537606..103d0fdffba 100644 --- a/htdocs/core/modules/rapport/pdf_paiement.class.php +++ b/htdocs/core/modules/rapport/pdf_paiement.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2006 Rodolphe Quiedeville * Copyright (C) 2006-2014 Laurent Destailleur * Copyright (C) 2015-2018 Charlene BENKE + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -207,7 +208,11 @@ class pdf_paiement $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; } if (!empty($socid)) $sql .= " AND s.rowid = ".$socid; - $sql .= " ORDER BY p.datep ASC, pf.fk_paiement ASC"; + // If global param PAYMENTS_REPORT_GROUP_BY_MOD is set, payement are ordered by paiement_code + if (!empty($conf->global->PAYMENTS_REPORT_GROUP_BY_MOD)) + $sql .= " ORDER BY paiement_code ASC, p.datep ASC, pf.fk_paiement ASC"; + else + $sql .= " ORDER BY p.datep ASC, pf.fk_paiement ASC"; break; case "fourn": $sql = "SELECT p.datep as dp, f.ref as ref"; @@ -237,7 +242,11 @@ class pdf_paiement $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; } if (!empty($socid)) $sql .= " AND s.rowid = ".$socid; - $sql .= " ORDER BY p.datep ASC, pf.fk_paiementfourn ASC"; + // If global param PAYMENTS_FOURN_REPORT_GROUP_BY_MOD is set, payement fourn are ordered by paiement_code + if (!empty($conf->global->PAYMENTS_FOURN_REPORT_GROUP_BY_MOD)) + $sql .= " ORDER BY paiement_code ASC, p.datep ASC, pf.fk_paiementfourn ASC"; + else + $sql .= " ORDER BY p.datep ASC, pf.fk_paiementfourn ASC"; break; } @@ -425,7 +434,7 @@ class pdf_paiement public function Body(&$pdf, $page, $lines, $outputlangs) { // phpcs:enable - global $langs; + global $langs, $conf; $default_font_size = pdf_getPDFFontSize($outputlangs); $pdf->SetFont('', '', $default_font_size - 1); @@ -435,6 +444,11 @@ class pdf_paiement $pdf->SetFillColor(220, 220, 220); $yp = 0; $numlines = count($lines); + if (($this->doc_type == 'client' && !empty($conf->global->PAYMENTS_REPORT_GROUP_BY_MOD)) || ($this->doc_type == 'fourn' && !empty($conf->global->PAYMENTS_FOURN_REPORT_GROUP_BY_MOD))) + { + $mod = $lines[0][2]; + $total_mod = 0; + } for ($j = 0; $j < $numlines; $j++) { $i = $j; @@ -450,8 +464,17 @@ class pdf_paiement { if ($yp > $this->tab_height - 15) { - $pdf->SetXY($this->posxpaymentamount, $this->tab_top + 10 + $yp); - $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxpaymentamount, $this->line_height, $langs->transnoentities('SubTotal')." : ".price($total_page), 0, 'R', 0); + $pdf->SetFillColor(255, 255, 255); + $pdf->Rect($this->marge_gauche + 1, $this->tab_top + 10 + $yp, $this->posxpaymentamount - $this->marge_droite - 3, $this->line_height, 'F', array(), array()); + $pdf->line($this->marge_gauche, $this->tab_top + 10 + $yp, $this->page_largeur - $this->marge_droite, $this->tab_top + 10 + $yp, array('dash'=>1)); + $pdf->line($this->marge_gauche, $this->tab_top + 15 + $yp, $this->page_largeur - $this->marge_droite, $this->tab_top + 15 + $yp); + $pdf->SetFont('', 'B', $default_font_size - 1); + $pdf->SetXY($this->posxdate - 1, $this->tab_top + 10 + $yp); + $pdf->MultiCell($this->posxpaymentamount - 2 - $this->marge_droite, $this->line_height, $langs->transnoentities('SubTotal')." : ", 0, 'R', 1); + $pdf->SetXY($this->posxpaymentamount - 1, $this->tab_top + 10 + $yp); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxpaymentamount + 1, $this->line_height, price($total_page), 0, 'R', 1); + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->SetFillColor(220, 220, 220); $page++; $pdf->AddPage(); $this->_pagehead($pdf, $page, 0, $outputlangs); @@ -474,6 +497,7 @@ class pdf_paiement $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxpaymentamount, $this->line_height, $lines[$j][4], 0, 'R', 1); $yp = $yp + 5; $total_page += $lines[$j][9]; + if (($this->doc_type == 'client' && !empty($conf->global->PAYMENTS_REPORT_GROUP_BY_MOD)) || ($this->doc_type == 'fourn' && !empty($conf->global->PAYMENTS_FOURN_REPORT_GROUP_BY_MOD))) $total_mod += $lines[$j][9]; } // Invoice number @@ -497,9 +521,44 @@ class pdf_paiement { $oldprowid = $lines[$j][7]; } + + // Add line to add total by payment mode if mode reglement for nex line change + if ((($this->doc_type == 'client' && !empty($conf->global->PAYMENTS_REPORT_GROUP_BY_MOD)) || ($this->doc_type == 'fourn' && !empty($conf->global->PAYMENTS_FOURN_REPORT_GROUP_BY_MOD))) && ($mod != $lines[$j + 1][2])) + { + $pdf->SetFillColor(245, 245, 245); + $pdf->Rect($this->marge_gauche + 1, $this->tab_top + 10 + $yp, $this->posxpaymentamount - $this->marge_droite - 3, $this->line_height, 'F', array(), array()); + $pdf->line($this->marge_gauche, $this->tab_top + 10 + $yp, $this->page_largeur - $this->marge_droite, $this->tab_top + 10 + $yp, array('dash'=>1)); + $pdf->line($this->marge_gauche, $this->tab_top + 15 + $yp, $this->page_largeur - $this->marge_droite, $this->tab_top + 15 + $yp); + $pdf->SetXY($this->posxdate - 1, $this->tab_top + 10 + $yp); + $pdf->SetFont('', 'I', $default_font_size - 1); + $pdf->MultiCell($this->posxpaymentamount - 2 - $this->marge_droite, $this->line_height, $langs->transnoentities('Total').' '.$mod." : ", 0, 'R', 1); + $pdf->SetXY($this->posxpaymentamount - 1, $this->tab_top + 10 + $yp); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxpaymentamount + 1, $this->line_height, price($total_mod), 0, 'R', 1); + $pdf->SetFont('', '', $default_font_size - 1); + $mod = $lines[$j + 1][2]; + $total_mod = 0; + $yp = $yp + 5; + if ($yp > $this->tab_height - 5) + { + $page++; + $pdf->AddPage(); + $this->_pagehead($pdf, $page, 0, $outputlangs); + $pdf->SetFont('', '', $default_font_size - 1); + $yp = 0; + } + $pdf->SetFillColor(220, 220, 220); + } } $total += $total_page; - $pdf->SetXY($this->posxpaymentamount, $this->tab_top + 10 + $yp); - $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxpaymentamount, $this->line_height, $langs->transnoentities('Total')." : ".price($total), 0, 'R', 0); + $pdf->SetFillColor(255, 255, 255); + $pdf->Rect($this->marge_gauche + 1, $this->tab_top + 10 + $yp, $this->posxpaymentamount - $this->marge_droite - 3, $this->line_height, 'F', array(), array()); + $pdf->line($this->marge_gauche, $this->tab_top + 10 + $yp, $this->page_largeur - $this->marge_droite, $this->tab_top + 10 + $yp, array('dash'=>1)); + $pdf->line($this->marge_gauche, $this->tab_top + 15 + $yp, $this->page_largeur - $this->marge_droite, $this->tab_top + 15 + $yp); + $pdf->SetXY($this->posxdate - 1, $this->tab_top + 10 + $yp); + $pdf->SetFont('', 'B'); + $pdf->MultiCell($this->posxpaymentamount - 2 - $this->marge_droite, $this->line_height, $langs->transnoentities('Total')." : ", 0, 'R', 1); + $pdf->SetXY($this->posxpaymentamount - 1, $this->tab_top + 10 + $yp); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxpaymentamount + 1, $this->line_height, price($total), 0, 'R', 1); + $pdf->SetFillColor(220, 220, 220); } } diff --git a/htdocs/core/tools.php b/htdocs/core/tools.php index 348417dd345..accb8eeed00 100644 --- a/htdocs/core/tools.php +++ b/htdocs/core/tools.php @@ -46,7 +46,7 @@ $text = $langs->trans("Tools"); print load_fiche_titre($text, '', 'wrench'); // Show description of content -print '
    '.$langs->trans("ToolsDesc").'


    '; +print '
    '.$langs->trans("ToolsDesc").'


    '; // Show logo diff --git a/htdocs/core/tpl/admin_extrafields_edit.tpl.php b/htdocs/core/tpl/admin_extrafields_edit.tpl.php index d0eaaec25f2..80a7cac7de3 100644 --- a/htdocs/core/tpl/admin_extrafields_edit.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_edit.tpl.php @@ -194,6 +194,8 @@ elseif (($type == 'sellist') || ($type == 'chkbxlst') || ($type == 'link') || ($ // Define list of possible type transition $typewecanchangeinto = array( 'varchar'=>array('varchar', 'phone', 'mail', 'url', 'select', 'password', 'text', 'html'), + 'double'=>array('double', 'price'), + 'price'=>array('double', 'price'), 'text'=>array('text', 'html'), 'html'=>array('text', 'html'), 'password'=>array('password', 'varchar'), @@ -202,6 +204,7 @@ $typewecanchangeinto = array( 'phone'=>array('varchar', 'phone', 'mail', 'url', 'select'), 'select'=>array('varchar', 'phone', 'mail', 'url', 'select') ); + if (in_array($type, array_keys($typewecanchangeinto))) { $newarray = array(); diff --git a/htdocs/core/tpl/advtarget.tpl.php b/htdocs/core/tpl/advtarget.tpl.php index 544e78d1a8a..23727e4ad97 100644 --- a/htdocs/core/tpl/advtarget.tpl.php +++ b/htdocs/core/tpl/advtarget.tpl.php @@ -459,7 +459,8 @@ if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) { // Standard Extrafield feature if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { - $elementype = Contact::$table_element; + $contactstatic = new Contact($db); + $elementype = $contactstatic->table_element; // fetch optionals attributes and labels dol_include_once('/core/class/extrafields.class.php'); $extrafields = new ExtraFields($db); @@ -485,9 +486,9 @@ if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'date') || ($extrafields->attributes[$elementtype]['type'][$key] == 'datetime')) { print '
    '; - $url = 'https://www.dolistore.com/4-skins'; + $url = 'https://www.dolistore.com/9-skins'; print ''; print $langs->trans('DownloadMoreSkins'); print ''; @@ -502,9 +502,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) { print yn($conf->global->THEME_TOPMENU_DISABLE_IMAGE); } - print '   ('.$langs->trans("Default").': '.$default.') '; + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); - print ''; print ''; print '
    '.$langs->trans("BackgroundTableTitleTextlinkColor").''; + if ($edit) + { + print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TEXTTITLELINK, array()), ''), 'THEME_ELDY_TEXTTITLELINK', 'formcolor', 1).' '; + } + else + { + print $formother->showColor($conf->global->THEME_ELDY_TEXTTITLELINK, $langs->trans("Default")); + } + print '   '.$langs->trans("Default").': '.$default.' '; print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis")); print ''; print '
    '; print '
    '.$langs->trans("AdvTgtStartDt").''; - print $form->selectDate('', 'options_'.$key.'_st_dt'.'_cnct'); + print $form->selectDate('', 'options_'.$key.'_st_dt_cnct'); print ''.$langs->trans("AdvTgtEndDt").''; - print $form->selectDate('', 'options_'.$key.'_end_dt'.'_cnct'); + print $form->selectDate('', 'options_'.$key.'_end_dt_cnct'); print '
    '; print '
    '."\n"; print $form->textwithpicto('', $langs->trans("AdvTgtSearchDtHelp"), 1, 'help'); diff --git a/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php b/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php index 6595223083e..4f435bb2106 100644 --- a/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php +++ b/htdocs/core/tpl/ajax/objectlinked_lineimport.tpl.php @@ -53,7 +53,7 @@ $(document).ready(function(){ }); - var $dialog = $('') + var $dialog = $('
    ') .load( page + " #tablelines", function() { $("#" + formId + " #tablelines").prop("id", "ajaxloaded_tablelines"); // change id attribute diff --git a/htdocs/core/tpl/document_actions_post_headers.tpl.php b/htdocs/core/tpl/document_actions_post_headers.tpl.php index 97612645b7d..32f6e67cb00 100644 --- a/htdocs/core/tpl/document_actions_post_headers.tpl.php +++ b/htdocs/core/tpl/document_actions_post_headers.tpl.php @@ -70,14 +70,14 @@ if ($action == 'delete') ); } -$formfile=new FormFile($db); +$formfile = new FormFile($db); // We define var to enable the feature to add prefix of uploaded files. // Caller of this include can make // $savingdocmask=dol_sanitizeFileName($object->ref).'-__file__'; if (!isset($savingdocmask) || !empty($conf->global->MAIN_DISABLE_SUGGEST_REF_AS_PREFIX)) { - $savingdocmask=''; + $savingdocmask = ''; if (empty($conf->global->MAIN_DISABLE_SUGGEST_REF_AS_PREFIX)) { //var_dump($modulepart); if (in_array($modulepart, array( diff --git a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php index b53bb6276b1..03d487ee0c0 100644 --- a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php @@ -36,7 +36,7 @@ if (!empty($extrafieldsobjectkey) && !empty($search_array_options) && is_array($ elseif ($crit != '' && (!in_array($typ, array('select', 'sellist')) || $crit != '0') && (!in_array($typ, array('link')) || $crit != '-1')) { $mode_search = 0; - if (in_array($typ, array('int', 'double', 'real'))) $mode_search = 1; // Search on a numeric + if (in_array($typ, array('int', 'double', 'real', 'price'))) $mode_search = 1; // Search on a numeric if (in_array($typ, array('sellist', 'link')) && $crit != '0' && $crit != '-1') $mode_search = 2; // Search on a foreign key int if (in_array($typ, array('chkbxlst', 'checkbox'))) $mode_search = 4; // Search on a multiselect field with sql type = text if (is_array($crit)) $crit = implode(' ', $crit); // natural_search() expects a string diff --git a/htdocs/core/tpl/extrafields_view.tpl.php b/htdocs/core/tpl/extrafields_view.tpl.php index e6cbad245d9..198a3910747 100644 --- a/htdocs/core/tpl/extrafields_view.tpl.php +++ b/htdocs/core/tpl/extrafields_view.tpl.php @@ -52,8 +52,12 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element] { $lastseparatorkeyfound = ''; $extrafields_collapse_num = ''; + $extrafields_collapse_num_old = ''; + $i = 0; foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $label) { + $i++; + // Discard if extrafield is a hidden field on form $enabled = 1; @@ -65,6 +69,7 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element] { $enabled = dol_eval($extrafields->attributes[$object->table_element]['list'][$key], 1); } + $perms = 1; if ($perms && isset($extrafields->attributes[$object->table_element]['perms'][$key])) { @@ -87,6 +92,8 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element] $value = $object->array_options["options_".$key]; //var_dump($key.' - '.$value); } + + // Print line tr of extra field if ($extrafields->attributes[$object->table_element]['type'][$key] == 'separate') { $extrafields_collapse_num = ''; @@ -109,13 +116,20 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element] } else { - print '
    '; print ''; print ''; - print ''; - print ''; + print ''; print ''; if ($object->statut == Holiday::STATUS_REFUSED) diff --git a/htdocs/holiday/document.php b/htdocs/holiday/document.php index 5df844175d4..a0f8723b92d 100644 --- a/htdocs/holiday/document.php +++ b/htdocs/holiday/document.php @@ -49,11 +49,12 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'holiday', $id, 'holiday'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php index daa5a37b51b..42faecc5588 100644 --- a/htdocs/holiday/list.php +++ b/htdocs/holiday/list.php @@ -1,9 +1,9 @@ - * Copyright (C) 2013-2018 Laurent Destailleur + * Copyright (C) 2013-2020 Laurent Destailleur * Copyright (C) 2012-2016 Regis Houssin * Copyright (C) 2018 Charlene Benke - * Copyright (C) 2019 Frédéric France + * Copyright (C) 2019 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -475,7 +475,7 @@ if ($resql) $include = ''; - if (!empty($user->rights->holiday->read_all)) $include = 'hierarchyme'; // Can see all + if (empty($user->rights->holiday->read_all)) $include = 'hierarchyme'; // Can see only its hierarchyl print '
    '; print '
    attributes[$object->table_element]['required'][$key])) print ' fieldrequired'; print '">'; if (!empty($extrafields->attributes[$object->table_element]['help'][$key])) print $form->textwithpicto($langs->trans($label), $langs->trans($extrafields->attributes[$object->table_element]['help'][$key])); @@ -161,6 +175,7 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element] //print 'x'.$object->array_options['options_' . $key].'-'.$datenotinstring.' - '.dol_print_date($datenotinstring, 'dayhour'); $value = isset($_POST["options_".$key]) ? dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]) : $datenotinstring; } + //TODO Improve element and rights detection if ($action == 'edit_extras' && $permok && GETPOST('attribute', 'none') == $key) { diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php index 5fc268013c6..0fb1aff011d 100644 --- a/htdocs/core/tpl/objectline_create.tpl.php +++ b/htdocs/core/tpl/objectline_create.tpl.php @@ -813,7 +813,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) jQuery("#prod_entry_mode_free").prop('checked',true).change(); jQuery("#prod_entry_mode_predef").prop('checked',false).change(); jQuery("#search_idprod, #idprod, #search_idprodfournprice, #buying_price").val(''); - jQuery("#price_ht, #multicurrency_price_ht, #price_ttc, #price_ttc, #fourn_ref, #tva_tx, #buying_price, #title_vat, #title_up_ht, #title_up_ht_currency, #title_up_ttc, #title_up_ttc_currency").show(); + jQuery("#price_ht, #multicurrency_price_ht, #price_ttc, #price_ttc, #fourn_ref, #tva_tx, #buying_price, #title_fourn_ref, #title_vat, #title_up_ht, #title_up_ht_currency, #title_up_ttc, #title_up_ttc_currency").show(); jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").show(); jQuery("#fournprice_predef").hide(); } @@ -825,11 +825,13 @@ if (!empty($usemargins) && $user->rights->margins->creer) global->MAIN_DISABLE_EDIT_PREDEF_PRICEHT)) { ?> jQuery("#price_ht").val('').show(); jQuery("#multicurrency_price_ht").val('').show(); + jQuery("#title_up_ht, #title_up_ht_currency").show(); jQuery("#price_ht").val('').hide(); jQuery("#multicurrency_price_ht").val('').hide(); + jQuery("#title_up_ht, #title_up_ht_currency").hide(); - jQuery("#price_ttc, #fourn_ref, #tva_tx, #title_vat, #title_up_ht_currency, #title_up_ttc, #title_up_ttc_currency").hide(); + jQuery("#price_ttc, #fourn_ref, #tva_tx, #title_fourn_ref, #title_vat, #title_up_ttc, #title_up_ttc_currency").hide(); jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").hide(); jQuery("#buying_price").show(); jQuery('#trlinefordates, .divlinefordates').show(); diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index d61810c5178..8849020b885 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -45,7 +45,7 @@ if (empty($object) || !is_object($object)) exit; } - +global $mysoc; global $forceall, $senderissupplier, $inputalsopricewithtax, $outputalsopricetotalwithtax; $usemargins = 0; @@ -282,13 +282,21 @@ if ($line->special_code == 3) { ?> $coldisplay++; if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - print 'country_code).'='.price($line->total_ht); - print '
    '.$langs->transcountry("TotalVAT", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.price($line->total_tva); - if (price2num($line->total_localtax1)) print '
    '.$langs->transcountry("TotalLT1", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.price($line->total_localtax1); - if (price2num($line->total_localtax2)) print '
    '.$langs->transcountry("TotalLT2", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.price($line->total_localtax2); - print '
    '.$langs->transcountry("TotalTTC", $mysoc->country_code).'='.price($line->total_ttc); - print '">'; + $tooltiponprice = $langs->transcountry("TotalHT", $mysoc->country_code).'='.price($line->total_ht); + $tooltiponprice .= '
    '.$langs->transcountry("TotalVAT", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.price($line->total_tva); + if (!$senderissupplier && is_object($object->thirdparty)) { + if ($object->thirdparty->useLocalTax(1)) { + if (price2num($line->total_localtax1)) $tooltiponprice .= '
    '.$langs->transcountry("TotalLT1", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.price($line->total_localtax1); + else $tooltiponprice .= '
    '.$langs->transcountry("TotalLT1", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.$langs->trans("NotUsedForThisCustomer").''; + } + if ($object->thirdparty->useLocalTax(1)) { + if (price2num($line->total_localtax2)) $tooltiponprice .= '
    '.$langs->transcountry("TotalLT2", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.price($line->total_localtax2); + else $tooltiponprice .= '
    '.$langs->transcountry("TotalLT2", ($senderissupplier ? $object->thirdparty->country_code : $mysoc->country_code)).'='.$langs->trans("NotUsedForThisCustomer").''; + } + } + $tooltiponprice .= '
    '.$langs->transcountry("TotalTTC", $mysoc->country_code).'='.price($line->total_ttc); + + print ''; } print price($line->total_ht); if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php index ab12b48aa08..63ff6a8a0a7 100644 --- a/htdocs/core/tpl/passwordforgotten.tpl.php +++ b/htdocs/core/tpl/passwordforgotten.tpl.php @@ -40,6 +40,7 @@ if (!empty($conf->dol_use_jmobile)) $conf->use_javascript_ajax = 1; $php_self = $_SERVER['PHP_SELF']; $php_self .= dol_escape_htmltag($_SERVER["QUERY_STRING"]) ? '?'.dol_escape_htmltag($_SERVER["QUERY_STRING"]) : ''; +$php_self = str_replace('action=validatenewpassword', '', $php_self); $titleofpage = $langs->trans('SendNewPassword'); diff --git a/htdocs/core/triggers/interface_80_modStripe_Stripe.class.php b/htdocs/core/triggers/interface_80_modStripe_Stripe.class.php index af2ed9cc96b..e6c2df36ee1 100644 --- a/htdocs/core/triggers/interface_80_modStripe_Stripe.class.php +++ b/htdocs/core/triggers/interface_80_modStripe_Stripe.class.php @@ -33,7 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/triggers/dolibarrtriggers.class.php'; /** * Class of triggers for stripe module */ -class InterfaceStripe +class InterfaceStripe extends DolibarrTriggers { /** * @var DoliDB Database handler. @@ -53,7 +53,7 @@ class InterfaceStripe $this->family = 'stripe'; $this->description = "Triggers of the module Stripe"; $this->version = 'dolibarr'; // 'development', 'experimental', 'dolibarr' or version - $this->picto = 'stripe@stripe'; + $this->picto = 'stripe'; } /** @@ -77,29 +77,6 @@ class InterfaceStripe return $this->description; } - /** - * Trigger version - * - * @return string Version of trigger file - */ - public function getVersion() - { - global $langs; - $langs->load("admin"); - - if ($this->version == 'development') { - return $langs->trans("Development"); - } elseif ($this->version == 'experimental') { - return $langs->trans("Experimental"); - } elseif ($this->version == 'dolibarr') { - return DOL_VERSION; - } elseif ($this->version) { - return $this->version; - } else { - return $langs->trans("Unknown"); - } - } - /** * Function called when a Dolibarrr business event is done. * All functions "runTrigger" are triggered if file diff --git a/htdocs/core/website.inc.php b/htdocs/core/website.inc.php index b90da632fac..6456fabf5b3 100644 --- a/htdocs/core/website.inc.php +++ b/htdocs/core/website.inc.php @@ -19,7 +19,7 @@ /** * \file htdocs/core/website.inc.php * \brief Common file loaded by all website pages (after master.inc.php). It set the new object $weblangs, using parameter 'l'. - * This file is included in top of all container pages. + * This file is included in top of all container pages and is run only when a web page is called. * The global variable $websitekey must be defined. */ @@ -27,17 +27,24 @@ include_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php'; include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php'; +// Detection browser (copy of code from main.inc.php) +if (isset($_SERVER["HTTP_USER_AGENT"]) && is_object($conf) && empty($conf->browser->name)) +{ + $tmp = getBrowserInfo($_SERVER["HTTP_USER_AGENT"]); + $conf->browser->name = $tmp['browsername']; + $conf->browser->os = $tmp['browseros']; + $conf->browser->version = $tmp['browserversion']; + $conf->browser->layout = $tmp['layout']; // 'classic', 'phone', 'tablet' + //var_dump($conf->browser); + + if ($conf->browser->layout == 'phone') $conf->dol_no_mouse_hover = 1; +} // Define $website if (!is_object($website)) { $website = new Website($db); $website->fetch(0, $websitekey); } -// Define $weblangs -if (!is_object($weblangs)) -{ - $weblangs = dol_clone($langs); // TODO Use an object lang from a language set into $website object instead of backoffice -} // Define $websitepage if we have $websitepagefile defined if (!$pageid && !empty($websitepagefile)) { @@ -48,10 +55,22 @@ if (!is_object($websitepage)) { $websitepage = new WebsitePage($db); } +// Define $weblangs +if (!is_object($weblangs)) +{ + $weblangs = new Translate('', $conf); +} +if (!is_object($pagelangs)) +{ + $pagelangs = new Translate('', $conf); +} if ($pageid > 0) { $websitepage->fetch($pageid); + $weblangs->setDefaultLang(empty($_COOKIE['weblangs-shortcode']) ? 'auto' : $_COOKIE['weblangs-shortcode']); + $pagelangs->setDefaultLang($websitepage->lang ? $websitepage->lang : $weblangs->shortlang); + if (!defined('USEDOLIBARREDITOR') && in_array($websitepage->type_container, array('menu', 'other'))) { $weblangs->load("website"); diff --git a/htdocs/datapolicy/class/actions_datapolicy.class.php b/htdocs/datapolicy/class/actions_datapolicy.class.php index 3ef5a12d720..74c254d395f 100644 --- a/htdocs/datapolicy/class/actions_datapolicy.class.php +++ b/htdocs/datapolicy/class/actions_datapolicy.class.php @@ -117,15 +117,15 @@ class ActionsDatapolicy $object->state_id = ''; $object->skype = ''; $object->country_id = ''; - $object->note_private = $object->note_private . '
    ' . $langs->trans('ANONYMISER_AT', dol_print_date(time())); + $object->note_private = $object->note_private.'
    '.$langs->trans('ANONYMISER_AT', dol_print_date(time())); if ($object->update($object->id, $user, 0)) { // On supprime les contacts associé - $sql = "DELETE FROM " . MAIN_DB_PREFIX . "socpeople WHERE fk_soc = " . $object->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."socpeople WHERE fk_soc = ".$object->id; $this->db->query($sql); setEventMessages($langs->trans('ANONYMISER_SUCCESS'), array()); - header('Location:' . $_SERVER["PHP_SELF"] . "?socid=" . $object->id); + header('Location:'.$_SERVER["PHP_SELF"]."?socid=".$object->id); } } } elseif ($parameters['currentcontext'] == 'thirdpartycard' && $action == 'datapolicy_portabilite') { @@ -394,40 +394,40 @@ class ActionsDatapolicy if ($parameters['currentcontext'] == 'thirdpartycard') { if (GETPOST('action') == 'create' || GETPOST('action') == 'edit' || GETPOST('action') == '') { $jsscript .= ''; } elseif (GETPOST('action') == 'confirm_delete' && GETPOST('confirm') == 'yes' && GETPOST('socid') > 0) { // La suppression n'a pas été possible - require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; + require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $societe = new Societe($this->db); $societe->fetch(GETPOST('socid')); // On vérifie si il est utilisé if ((in_array($object->forme_juridique_code, array(11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005)) || $societe->typent_id == 8) && $societe->isObjectUsed(GETPOST('socid'))) { - require_once DOL_DOCUMENT_ROOT . '/core/class/html.form.class.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; $form = new Form($this->db); - echo $form->formconfirm($_SERVER["PHP_SELF"] . "?socid=" . GETPOST('socid'), substr($langs->trans("DATAPOLICIES_POPUP_ANONYME_TITLE"), 0, strlen($langs->trans("DATAPOLICIES_POPUP_ANONYME_TITLE")) - 2), $langs->trans("DATAPOLICIES_POPUP_ANONYME_TEXTE"), 'anonymiser', '', '', 1); + echo $form->formconfirm($_SERVER["PHP_SELF"]."?socid=".GETPOST('socid'), substr($langs->trans("DATAPOLICIES_POPUP_ANONYME_TITLE"), 0, strlen($langs->trans("DATAPOLICIES_POPUP_ANONYME_TITLE")) - 2), $langs->trans("DATAPOLICIES_POPUP_ANONYME_TEXTE"), 'anonymiser', '', '', 1); } } if (GETPOST('socid')) { - require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; + require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $societe = new Societe($this->db); $societe->fetch(GETPOST('socid')); if (!in_array($object->forme_juridique_code, array(11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005)) && $societe->typent_id != 8) { - require_once DOL_DOCUMENT_ROOT . '/core/class/html.form.class.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; $jsscript .= ''; } } diff --git a/htdocs/datapolicy/class/datapolicycron.class.php b/htdocs/datapolicy/class/datapolicycron.class.php index 13598015688..409df1362e9 100644 --- a/htdocs/datapolicy/class/datapolicycron.class.php +++ b/htdocs/datapolicy/class/datapolicycron.class.php @@ -470,15 +470,15 @@ class DataPolicyCron { $sql = sprintf($params['sql'], (int) $conf->entity, (int) $conf->global->$key, (int) $conf->global->$key); - $resql = $db->query($sql); + $resql = $this->db->query($sql); - if ($resql && $db->num_rows($resql) > 0) + if ($resql && $this->db->num_rows($resql) > 0) { - $num = $db->num_rows($resql); + $num = $this->db->num_rows($resql); $i = 0; require_once $params['file']; - $object = new $params['class']($db); + $object = new $params['class']($this->db); while ($i < $num && !$error) { diff --git a/htdocs/dav/fileserver.php b/htdocs/dav/fileserver.php index ce3157414f5..18b8bc8b07c 100644 --- a/htdocs/dav/fileserver.php +++ b/htdocs/dav/fileserver.php @@ -82,7 +82,7 @@ $tmpDir = $conf->dav->multidir_output[$entity]; // We need root dir, not a dir t // Authentication callback function -$authBackend = new \Sabre\DAV\Auth\Backend\BasicCallBack(function($username, $password) { +$authBackend = new \Sabre\DAV\Auth\Backend\BasicCallBack(function ($username, $password) { global $user; global $conf; global $dolibarr_main_authentication, $dolibarr_auto_user; diff --git a/htdocs/debugbar/class/autoloader.php b/htdocs/debugbar/class/autoloader.php index a68ace2c3c0..1d5c85c975d 100644 --- a/htdocs/debugbar/class/autoloader.php +++ b/htdocs/debugbar/class/autoloader.php @@ -4,7 +4,7 @@ * Simple autoloader, so we don't need Composer just for this. */ -spl_autoload_register(function($class) { +spl_autoload_register(function ($class) { if (preg_match('/^DebugBar/', $class) || preg_match('/^'.preg_quote('Psr\Log', '/').'/', $class)) { $file = DOL_DOCUMENT_ROOT.'/includes/'.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php'; //var_dump($class.' - '.file_exists($file).' - '.$file); diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 4eb6123b305..505d2fbed29 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -318,7 +318,7 @@ if (!empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } if ($action == 'create') { - print load_fiche_titre($langs->trans("AddDonation"), '', 'invoicing'); + print load_fiche_titre($langs->trans("AddDonation"), '', 'object_donation'); print '
    '; print ''; @@ -500,7 +500,7 @@ if (!empty($id) && $action == 'edit') print ''; - dol_fiche_head($head, $hselected, $langs->trans("Donation"), 0, 'generic'); + dol_fiche_head($head, $hselected, $langs->trans("Donation"), 0, 'donation'); print ''; @@ -629,7 +629,7 @@ if (!empty($id) && $action != 'edit') $hselected = 'card'; $head = donation_prepare_head($object); - dol_fiche_head($head, $hselected, $langs->trans("Donation"), -1, 'generic'); + dol_fiche_head($head, $hselected, $langs->trans("Donation"), -1, 'donation'); // Print form confirm print $formconfirm; diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 8260656e4d0..59c293e6386 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -60,7 +60,7 @@ class Don extends CommonObject /** * @var string String with name of icon for object don. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'generic'; + public $picto = 'donation'; /** * @var string Date of the donation @@ -432,7 +432,7 @@ class Don extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -519,7 +519,7 @@ class Don extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -916,22 +916,36 @@ class Don extends CommonObject /** * Return clicable name (with picto eventually) * - * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto - * @param int $notooltip 1=Disable tooltip - * @return string Chaine avec URL + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto + * @param int $notooltip 1=Disable tooltip + * @param string $moretitle Add more text to title tooltip + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string Chaine avec URL */ - public function getNomUrl($withpicto = 0, $notooltip = 0) + public function getNomUrl($withpicto = 0, $notooltip = 0, $moretitle = '', $save_lastsearch_value = -1) { - global $langs; + global $conf, $langs; + + if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips $result = ''; - $label = $langs->trans("ShowDonation").': '.$this->id; + $label = ''.$langs->trans("Donation").''; + if (!empty($this->id)) { + $label .= '
    '.$langs->trans('Ref').': '.$this->id; + } + if ($moretitle) $label .= ' - '.$moretitle; - $linkstart = ''; + $url = DOL_URL_ROOT.'/don/card.php?id='.$this->id; + + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) $add_save_lastsearch_values = 1; + if ($add_save_lastsearch_values) $url .= '&save_lastsearch_values=1'; + + $linkstart = ''; $linkend = ''; $result .= $linkstart; - if ($withpicto) $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + if ($withpicto) $result .= img_object(($notooltip ? '' : $label), $this->picto, ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); if ($withpicto != 2) $result .= $this->ref; $result .= $linkend; diff --git a/htdocs/don/class/paymentdonation.class.php b/htdocs/don/class/paymentdonation.class.php index ee8156c229e..64644d18971 100644 --- a/htdocs/don/class/paymentdonation.class.php +++ b/htdocs/don/class/paymentdonation.class.php @@ -55,11 +55,17 @@ class PaymentDonation extends CommonObject public $fk_donation; public $datec = ''; + public $tms = ''; + public $datep = ''; - public $amount; // Total amount of payment - public $amounts = array(); // Array of amounts + + public $amount; // Total amount of payment + + public $amounts = array(); // Array of amounts + public $typepayment; + public $num_payment; /** @@ -121,14 +127,14 @@ class PaymentDonation extends CommonObject } // Clean parameters - if (isset($this->fk_donation)) $this->fk_donation = (int) $this->fk_donation; - if (isset($this->amount)) $this->amount = trim($this->amount); + if (isset($this->fk_donation)) $this->fk_donation = (int) $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_public)) $this->note_public = trim($this->note_public); - if (isset($this->fk_bank)) $this->fk_bank = (int) $this->fk_bank; - if (isset($this->fk_user_creat)) $this->fk_user_creat = (int) $this->fk_user_creat; - if (isset($this->fk_user_modif)) $this->fk_user_modif = (int) $this->fk_user_modif; + if (isset($this->num_payment)) $this->num_payment = trim($this->num_payment); + if (isset($this->note_public)) $this->note_public = trim($this->note_public); + if (isset($this->fk_bank)) $this->fk_bank = (int) $this->fk_bank; + if (isset($this->fk_user_creat)) $this->fk_user_creat = (int) $this->fk_user_creat; + if (isset($this->fk_user_modif)) $this->fk_user_modif = (int) $this->fk_user_modif; $totalamount = 0; foreach ($this->amounts as $key => $value) // How payment is dispatch @@ -228,26 +234,26 @@ class PaymentDonation extends CommonObject { $obj = $this->db->fetch_object($resql); - $this->id = $obj->rowid; - $this->ref = $obj->rowid; + $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_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_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->num_payment = $obj->num_payment; + $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_code = $obj->type_code; $this->type_label = $obj->type_label; $this->bank_account = $obj->fk_account; - $this->bank_line = $obj->fk_bank; + $this->bank_line = $obj->fk_bank; } $this->db->free($resql); diff --git a/htdocs/don/document.php b/htdocs/don/document.php index 8dbb6f99fda..f2994b95577 100644 --- a/htdocs/don/document.php +++ b/htdocs/don/document.php @@ -55,11 +55,12 @@ $result = restrictedArea($user, 'don', $id, ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; @@ -103,7 +104,7 @@ if ($object->id) $head = donation_prepare_head($object); - dol_fiche_head($head, 'documents', $langs->trans("Donation"), -1, 'generic'); + dol_fiche_head($head, 'documents', $langs->trans("Donation"), -1, 'donation'); // Build file list diff --git a/htdocs/don/index.php b/htdocs/don/index.php index 3f74cfa53a1..d8df1f910fc 100644 --- a/htdocs/don/index.php +++ b/htdocs/don/index.php @@ -85,7 +85,7 @@ if ($result) dol_print_error($db); } -print load_fiche_titre($langs->trans("DonationsArea"), '', 'invoicing'); +print load_fiche_titre($langs->trans("DonationsArea"), '', 'object_donation'); print '
    '; diff --git a/htdocs/don/info.php b/htdocs/don/info.php index cff4aceae79..170c577dc00 100644 --- a/htdocs/don/info.php +++ b/htdocs/don/info.php @@ -67,7 +67,7 @@ $object->info($id); $head = donation_prepare_head($object); -dol_fiche_head($head, 'info', $langs->trans("Donation"), -1, 'generic'); +dol_fiche_head($head, 'info', $langs->trans("Donation"), -1, 'donation'); $linkback = ''.$langs->trans("BackToList").''; diff --git a/htdocs/don/list.php b/htdocs/don/list.php index a61a97f7c78..65ec24b1458 100644 --- a/htdocs/don/list.php +++ b/htdocs/don/list.php @@ -32,10 +32,12 @@ if (!empty($conf->projet->enabled)) require_once DOL_DOCUMENT_ROOT.'/projet/clas // Load translation files required by the page $langs->loadLangs(array("companies", "donations")); +$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'sclist'; + +$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 $offset = $limit * $page; $pageprev = $page - 1; @@ -75,17 +77,17 @@ $fieldstosearchall = array( 'd.firstname'=>'Firstname', ); + /* * View */ +$donationstatic = new Don($db); $form = new Form($db); if (!empty($conf->projet->enabled)) $projectstatic = new Project($db); llxHeader('', $langs->trans("Donations"), 'EN:Module_Donations|FR:Module_Dons|ES:Módulo_Donaciones'); -$donationstatic = new Don($db); - // Genere requete de liste des dons $sql = "SELECT d.rowid, d.datedon, d.fk_soc as socid, d.firstname, d.lastname, d.societe,"; $sql .= " d.amount, d.fk_statut as status,"; @@ -137,6 +139,8 @@ if ($resql) $i = 0; $param = ''; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss); if ($search_status && $search_status != -1) $param .= '&search_status='.urlencode($search_status); if ($search_ref) $param .= '&search_ref='.urlencode($search_ref); @@ -159,7 +163,7 @@ if ($resql) print ''; print ''; - print_barre_liste($langs->trans("Donations"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'invoicing', 0, $newcardbutton); + print_barre_liste($langs->trans("Donations"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'object_donation', 0, $newcardbutton, '', $limit, 0, 0, 1); if ($search_all) { diff --git a/htdocs/don/note.php b/htdocs/don/note.php index 08b8c05b520..111ea2399a3 100644 --- a/htdocs/don/note.php +++ b/htdocs/don/note.php @@ -83,7 +83,7 @@ if ($id > 0 || !empty($ref)) $head = donation_prepare_head($object); - dol_fiche_head($head, 'note', $langs->trans("Donation"), -1, 'generic'); + dol_fiche_head($head, 'note', $langs->trans("Donation"), -1, 'donation'); $linkback = ''.$langs->trans("BackToList").''; diff --git a/htdocs/ecm/class/ecmfiles.class.php b/htdocs/ecm/class/ecmfiles.class.php index 0c7c4c4cebb..6921b8aabd6 100644 --- a/htdocs/ecm/class/ecmfiles.class.php +++ b/htdocs/ecm/class/ecmfiles.class.php @@ -772,7 +772,6 @@ class EcmFiles extends CommonObject if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips $result = ''; - $companylink = ''; $label = ''.$langs->trans("MyModule").''; $label .= '
    '; @@ -867,6 +866,9 @@ class EcmFiles extends CommonObject } +/** + * Class of an index line of a document + */ class EcmfilesLine { /** diff --git a/htdocs/ecm/dir_add_card.php b/htdocs/ecm/dir_add_card.php index 0c9190b9a4c..4d6f2bdce5a 100644 --- a/htdocs/ecm/dir_add_card.php +++ b/htdocs/ecm/dir_add_card.php @@ -62,11 +62,12 @@ else // For example $module == 'medias' $upload_dir = $conf->medias->multidir_output[$conf->entity]; } +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/ecm/dir_card.php b/htdocs/ecm/dir_card.php index 42c6b140f3c..9b3da9d8aae 100644 --- a/htdocs/ecm/dir_card.php +++ b/htdocs/ecm/dir_card.php @@ -42,11 +42,12 @@ $pageid = GETPOST('pageid', 'int'); if (empty($module)) $module = 'ecm'; // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/ecm/file_card.php b/htdocs/ecm/file_card.php index 4b2d6006c5c..1c94fd1700b 100644 --- a/htdocs/ecm/file_card.php +++ b/htdocs/ecm/file_card.php @@ -46,11 +46,12 @@ if ($user->socid > 0) $socid = $user->socid; } +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/ecm/index.php b/htdocs/ecm/index.php index 9e51da09899..43b9ca6dcce 100644 --- a/htdocs/ecm/index.php +++ b/htdocs/ecm/index.php @@ -45,11 +45,12 @@ $section = GETPOST('section', 'int') ?GETPOST('section', 'int') : GETPOST('secti if (!$section) $section = 0; $section_dir = GETPOST('section_dir', 'alpha'); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/ecm/index_auto.php b/htdocs/ecm/index_auto.php index 6c245e3ad1c..39bdc9a1612 100644 --- a/htdocs/ecm/index_auto.php +++ b/htdocs/ecm/index_auto.php @@ -47,11 +47,12 @@ $section_dir = GETPOST('section_dir', 'alpha'); $search_doc_ref = GETPOST('search_doc_ref', 'alpha'); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/ecm/search.php b/htdocs/ecm/search.php index 1b90ae77411..e125824a8c8 100644 --- a/htdocs/ecm/search.php +++ b/htdocs/ecm/search.php @@ -52,11 +52,12 @@ if (empty($module)) $module = 'ecm'; $upload_dir = $conf->ecm->dir_output.'/'.$section; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index 11cf2477720..bf1a4e26de7 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -100,8 +100,9 @@ class EmailCollector extends CommonObject 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'help'=>'Example: MyCollector1'), 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'visible'=>1, 'enabled'=>1, 'position'=>30, 'notnull'=>-1, 'searchall'=>1, 'help'=>'Example: My Email collector'), 'description' => array('type'=>'text', 'label'=>'Description', 'visible'=>-1, 'enabled'=>1, 'position'=>60, 'notnull'=>-1), - 'host' => array('type'=>'varchar(255)', 'label'=>'EMailHost', 'visible'=>1, 'enabled'=>1, 'position'=>100, 'notnull'=>1, 'searchall'=>1, 'comment'=>"IMAP server", 'help'=>'Example: imap.gmail.com'), - 'login' => array('type'=>'varchar(128)', 'label'=>'Login', 'visible'=>1, 'enabled'=>1, 'position'=>101, 'notnull'=>-1, 'index'=>1, 'comment'=>"IMAP login", 'help'=>'Example: myaccount@gmail.com'), + 'host' => array('type'=>'varchar(255)', 'label'=>'EMailHost', 'visible'=>1, 'enabled'=>1, 'position'=>90, 'notnull'=>1, 'searchall'=>1, 'comment'=>"IMAP server", 'help'=>'Example: imap.gmail.com'), + 'hostcharset' => array('type'=>'varchar(16)', 'label'=>'HostCharset', 'visible'=>-1, 'enabled'=>1, 'position'=>91, 'notnull'=>0, 'searchall'=>0, 'comment'=>"IMAP server charset", 'help'=>'Example: "UTF-8" (May be "US-ASCII" with some Office365)'), + 'login' => array('type'=>'varchar(128)', 'label'=>'Login', 'visible'=>1, 'enabled'=>1, 'position'=>101, 'notnull'=>-1, 'index'=>1, 'comment'=>"IMAP login", 'help'=>'Example: myaccount@gmail.com'), 'password' => array('type'=>'password', 'label'=>'Password', 'visible'=>-1, 'enabled'=>1, 'position'=>102, 'notnull'=>-1, 'comment'=>"IMAP password", 'help'=>'WithGMailYouCanCreateADedicatedPassword'), 'source_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxSourceDirectory', 'visible'=>-1, 'enabled'=>1, 'position'=>103, 'notnull'=>1, 'default' => 'Inbox', 'help'=>'Example: INBOX'), //'filter' => array('type'=>'text', 'label'=>'Filter', 'visible'=>1, 'enabled'=>1, 'position'=>105), @@ -173,6 +174,7 @@ class EmailCollector extends CommonObject public $host; + public $hostcharset; public $login; public $password; public $source_directory; @@ -935,8 +937,8 @@ class EmailCollector extends CommonObject } imap_errors(); // Clear stack of errors. - // $conf->global->MAIL_PREFIX_FOR_EMAIL_ID must be defined $host = dol_getprefix('email'); + //$host = '123456'; // Define the IMAP search string // See https://tools.ietf.org/html/rfc3501#section-6.4.4 for IMAPv4 (PHP not yet compatible) @@ -985,9 +987,10 @@ class EmailCollector extends CommonObject $nbemailprocessed = 0; $nbemailok = 0; $nbactiondone = 0; + $charset = ($this->hostcharset ? $this->hostcharset : "UTF-8"); // Scan IMAP inbox - $arrayofemail = imap_search($connection, $search, null, "UTF-8"); + $arrayofemail = imap_search($connection, $search, null, $charset); if ($arrayofemail === false) { // Nothing found or search string not understood @@ -1078,6 +1081,7 @@ class EmailCollector extends CommonObject dol_syslog("Start of loop on email", LOG_INFO, 1); + $i = 0; foreach ($arrayofemail as $imapemail) { if ($nbemailprocessed > 1000) @@ -1085,12 +1089,17 @@ class EmailCollector extends CommonObject break; // Do not process more than 1000 email per launch (this is a different protection than maxnbcollectedpercollect } + $i++; + $header = imap_fetchheader($connection, $imapemail, 0); + $header = preg_replace('/\r\n\s+/m', ' ', $header); // When a header line is on several lines, merge lines $matches = array(); preg_match_all('/([^: ]+): (.+?(?:\r\n\s(?:.+?))*)\r\n/m', $header, $matches); $headers = array_combine($matches[1], $matches[2]); //var_dump($headers); + dol_syslog("** Process email ".$i." References: ".$headers['References']); + // If there is a filter on trackid if ($searchfilterdoltrackid > 0) { @@ -1126,13 +1135,16 @@ class EmailCollector extends CommonObject // GET Email meta datas $overview = imap_fetch_overview($connection, $imapemail, 0); - dol_syslog("** Process email - msgid=".$overview[0]->message_id." date=".dol_print_date($overview[0]->udate, 'dayrfc', 'gmt')." subject=".$overview[0]->subject); + dol_syslog("msgid=".$overview[0]->message_id." date=".dol_print_date($overview[0]->udate, 'dayrfc', 'gmt')." subject=".$overview[0]->subject); // Decode $overview[0]->subject according to RFC2047 // Can use also imap_mime_header_decode($str) // Can use also mb_decode_mimeheader($str) // Can use also iconv_mime_decode($str, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8') - if (function_exists('imap_mime_header_decode')) { + if (function_exists('iconv_mime_decode')) { + $overview[0]->subject = iconv_mime_decode($overview[0]->subject, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8'); + } + elseif (function_exists('imap_mime_header_decode')) { $elements = imap_mime_header_decode($overview[0]->subject); $newstring = ''; if (!empty($elements)) { @@ -1146,6 +1158,8 @@ class EmailCollector extends CommonObject elseif (function_exists('mb_decode_mimeheader')) { $overview[0]->subject = mb_decode_mimeheader($overview[0]->subject); } + // Removed emojis + $overview[0]->subject = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $overview[0]->subject); // Parse IMAP email structure global $htmlmsg, $plainmsg, $charset, $attachments; @@ -1153,6 +1167,9 @@ class EmailCollector extends CommonObject //$htmlmsg,$plainmsg,$charset,$attachments $messagetext = $plainmsg ? $plainmsg : dol_string_nohtmltag($htmlmsg, 0); + // Removed emojis + $messagetext = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $messagetext); + /*var_dump($plainmsg); var_dump($htmlmsg); var_dump($messagetext);*/ diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index e4fc2868b99..95b6f6208a5 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -12,6 +12,7 @@ * Copyright (C) 2016-2018 Ferran Marcet * Copyright (C) 2016 Yasser Carreón * Copyright (C) 2018 Frédéric France + * Copyright (C) 2020 Lenin Rivas * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -461,6 +462,20 @@ if (empty($reshook)) } } + elseif ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->expedition->supprimer) + { + $also_update_stock = (GETPOST('alsoUpdateStock', 'alpha') ? 1 : 0); + $result = $object->cancel(0, $also_update_stock); + if ($result > 0) + { + $result = $object->setStatut(-1); + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer) { $also_update_stock = (GETPOST('alsoUpdateStock', 'alpha') ? 1 : 0); @@ -874,8 +889,9 @@ $warehousestatic = new Entrepot($db); if ($action == 'create2') { - print load_fiche_titre($langs->trans("CreateShipment")).'
    '; - print $langs->trans("ShipmentCreationIsDoneFromOrder"); + print load_fiche_titre($langs->trans("CreateShipment"), '', 'dolly'); + + print '
    '.$langs->trans("ShipmentCreationIsDoneFromOrder"); $action = ''; $id = ''; $ref = ''; } @@ -884,7 +900,8 @@ if ($action == 'create') { $expe = new Expedition($db); - print load_fiche_titre($langs->trans("CreateShipment")); + print load_fiche_titre($langs->trans("CreateShipment"), '', 'dolly'); + if (!$origin) { setEventMessages($langs->trans("ErrorBadParameters"), null, 'errors'); @@ -958,8 +975,9 @@ if ($action == 'create') $langs->load("projects"); print '
    '; print ''; print ''; } @@ -1687,7 +1705,7 @@ elseif ($id || $ref) $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans('ValidateSending'), $text, 'confirm_valid', '', 0, 1); } // Confirm cancelation - if ($action == 'annuler') + if ($action == 'cancel') { $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans('CancelSending'), $langs->trans("ConfirmCancelSending", $object->ref), 'confirm_cancel', '', 0, 1); } @@ -2276,7 +2294,7 @@ elseif ($id || $ref) { print ''; // Qty to ship or shipped - print ''; + print ''; // Batch number managment if ($lines[$i]->entrepot_id == 0) { @@ -2289,7 +2307,7 @@ elseif ($id || $ref) // add a 0 qty lot row to be able to add a lot print ''; // Qty to ship or shipped - print ''; + print ''; // Batch number managment print ''; print ''; @@ -2303,7 +2321,7 @@ elseif ($id || $ref) print ''; print ''; // Qty to ship or shipped - print ''; + print ''; // Warehouse source print ''; // Batch number managment @@ -2317,7 +2335,7 @@ elseif ($id || $ref) { print ''; // Qty to ship or shipped - print ''; + print ''; // Warehouse source print ''; // Batch number managment @@ -2336,11 +2354,11 @@ elseif ($id || $ref) print ''; print ''; // Qty to ship or shipped - print ''; + print ''; // Warehouse source - print ''; + print ''; // Batch number managment - print ''; + print ''; print ''; } } @@ -2573,6 +2591,16 @@ elseif ($id || $ref) } } + // Cancel + if ($object->statut == Expedition::STATUS_VALIDATED) + { + if ($user->rights->expedition->supprimer) + { + print ''.$langs->trans("Cancel").''; + } + } + + // Delete if ($user->rights->expedition->supprimer) { print ''.$langs->trans("Delete").''; diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 7cce1c282da..52ec6048506 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -12,6 +12,7 @@ * Copyright (C) 2016 Ferran Marcet * Copyright (C) 2018 Nicolas ZABOURI * Copyright (C) 2018 Frédéric France + * Copyright (C) 2020 Lenin Rivas * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -74,7 +75,7 @@ class Expedition extends CommonObject /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'sending'; + public $picto = 'dolly'; public $socid; @@ -175,6 +176,10 @@ class Expedition extends CommonObject */ const STATUS_CLOSED = 2; + /** + * Canceled status + */ + const STATUS_CANCELED = -1; /** @@ -380,7 +385,7 @@ class Expedition extends CommonObject } // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1046,7 +1051,8 @@ class Expedition extends CommonObject } } $line->entrepot_id = $linebatch->entrepot_id; - $line->origin_line_id = $dbatch['ix_l']; + $line->origin_line_id = $dbatch['ix_l']; // deprecated + $line->fk_origin_line = $dbatch['ix_l']; $line->qty = $dbatch['qty']; $line->detail_batch = $tab; @@ -1165,6 +1171,226 @@ class Expedition extends CommonObject } } + + /** + * Cancel shipment. + * + * @param int $notrigger Disable triggers + * @param bool $also_update_stock true if the stock should be increased back (false by default) + * @return int >0 if OK, 0 if deletion done but failed to delete files, <0 if KO + */ + public function cancel($notrigger = 0, $also_update_stock = false) + { + global $conf, $langs, $user; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/expedition/class/expeditionbatch.class.php'; + + $error=0; + $this->error=''; + + $this->db->begin(); + + // Add a protection to refuse deleting if shipment has at least one delivery + $this->fetchObjectLinked($this->id, 'shipping', 0, 'delivery'); // Get deliveries linked to this shipment + if (count($this->linkedObjectsIds) > 0) + { + $this->error='ErrorThereIsSomeDeliveries'; + $error++; + } + + if (! $error) + { + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('SHIPPING_CANCEL', $user); + if ($result < 0) { $error++; } + // End call triggers + } + } + + // Stock control + if (! $error && $conf->stock->enabled && + (($conf->global->STOCK_CALCULATE_ON_SHIPMENT && $this->statut > self::STATUS_DRAFT) || + ($conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE && $this->statut == self::STATUS_CLOSED && $also_update_stock))) + { + require_once DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php"; + + $langs->load("agenda"); + + // Loop on each product line to add a stock movement and delete features + $sql = "SELECT cd.fk_product, cd.subprice, ed.qty, ed.fk_entrepot, ed.rowid as expeditiondet_id"; + $sql .= " FROM ".MAIN_DB_PREFIX."commandedet as cd,"; + $sql .= " ".MAIN_DB_PREFIX."expeditiondet as ed"; + $sql .= " WHERE ed.fk_expedition = ".$this->id; + $sql .= " AND cd.rowid = ed.fk_origin_line"; + + dol_syslog(get_class($this)."::delete select details", LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + $cpt = $this->db->num_rows($resql); + for ($i = 0; $i < $cpt; $i++) + { + dol_syslog(get_class($this)."::delete movement index ".$i); + $obj = $this->db->fetch_object($resql); + + $mouvS = new MouvementStock($this->db); + // we do not log origin because it will be deleted + $mouvS->origin = null; + // get lot/serial + $lotArray = null; + if ($conf->productbatch->enabled) + { + $lotArray = ExpeditionLineBatch::fetchAll($this->db, $obj->expeditiondet_id); + if (!is_array($lotArray)) + { + $error++; $this->errors[] = "Error ".$this->db->lasterror(); + } + } + if (empty($lotArray)) { + // no lot/serial + // We increment stock of product (and sub-products) + // We use warehouse selected for each line + $result = $mouvS->reception($user, $obj->fk_product, $obj->fk_entrepot, $obj->qty, 0, $langs->trans("ShipmentCanceledInDolibarr", $this->ref)); // Price is set to 0, because we don't want to see WAP changed + if ($result < 0) + { + $error++; $this->errors = $this->errors + $mouvS->errors; + break; + } + } + else + { + // We increment stock of batches + // We use warehouse selected for each line + foreach ($lotArray as $lot) + { + $result = $mouvS->reception($user, $obj->fk_product, $obj->fk_entrepot, $lot->qty, 0, $langs->trans("ShipmentCanceledInDolibarr", $this->ref), $lot->eatby, $lot->sellby, $lot->batch); // Price is set to 0, because we don't want to see WAP changed + if ($result < 0) + { + $error++; $this->errors = $this->errors + $mouvS->errors; + break; + } + } + if ($error) break; // break for loop incase of error + } + } + } + else + { + $error++; $this->errors[] = "Error ".$this->db->lasterror(); + } + } + + // delete batch expedition line + if (!$error && $conf->productbatch->enabled) + { + if (ExpeditionLineBatch::deletefromexp($this->db, $this->id) < 0) + { + $error++; $this->errors[] = "Error ".$this->db->lasterror(); + } + } + + + if (!$error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."expeditiondet"; + $sql .= " WHERE fk_expedition = ".$this->id; + + if ($this->db->query($sql)) + { + // Delete linked object + $res = $this->deleteObjectLinked(); + if ($res < 0) $error++; + + // No delete expedition + if (!$error) + { + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."expedition"; + $sql .= " WHERE rowid = ".$this->id; + + if ($this->db->query($sql)) + { + if (!empty($this->origin) && $this->origin_id > 0) + { + $this->fetch_origin(); + $origin = $this->origin; + if ($this->$origin->statut == Commande::STATUS_SHIPMENTONPROCESS) // If order source of shipment is "shipment in progress" + { + // Check if there is no more shipment. If not, we can move back status of order to "validated" instead of "shipment in progress" + $this->$origin->loadExpeditions(); + //var_dump($this->$origin->expeditions);exit; + if (count($this->$origin->expeditions) <= 0) + { + $this->$origin->setStatut(Commande::STATUS_VALIDATED); + } + } + } + + if (!$error) + { + $this->db->commit(); + + // We delete PDFs + $ref = dol_sanitizeFileName($this->ref); + if (!empty($conf->expedition->dir_output)) + { + $dir = $conf->expedition->dir_output.'/sending/'.$ref; + $file = $dir.'/'.$ref.'.pdf'; + if (file_exists($file)) + { + if (!dol_delete_file($file)) + { + return 0; + } + } + if (file_exists($dir)) + { + if (!dol_delete_dir_recursive($dir)) + { + $this->error = $langs->trans("ErrorCanNotDeleteDir", $dir); + return 0; + } + } + } + + return 1; + } + else + { + $this->db->rollback(); + return -1; + } + } + else + { + $this->error = $this->db->lasterror()." - sql=$sql"; + $this->db->rollback(); + return -3; + } + } + else + { + $this->error = $this->db->lasterror()." - sql=$sql"; + $this->db->rollback(); + return -2; + }//*/ + } + else + { + $this->error = $this->db->lasterror()." - sql=$sql"; + $this->db->rollback(); + return -1; + } + } + else + { + $this->db->rollback(); + return -1; + } + } + /** * Delete shipment. * Warning, do not delete a shipment if a delivery is linked to (with table llx_element_element) @@ -1288,15 +1514,23 @@ class Expedition extends CommonObject if (!$error) { + $main = MAIN_DB_PREFIX.'expeditiondet'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_expedition = ".$this->id.")"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."expeditiondet"; $sql .= " WHERE fk_expedition = ".$this->id; - if ($this->db->query($sql)) + if ($this->db->query($sqlef) && $this->db->query($sql)) { // Delete linked object $res = $this->deleteObjectLinked(); if ($res < 0) $error++; + // delete extrafields + $res = $this->deleteExtraFields(); + if ($res < 0) $error++; + if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."expedition"; @@ -1626,7 +1860,7 @@ class Expedition extends CommonObject global $langs, $conf; $result = ''; - $label = ''.$langs->trans("ShowSending").''; + $label = ''.$langs->trans("Shipment").''; $label .= '
    '.$langs->trans('Ref').': '.$this->ref; $label .= '
    '.$langs->trans('RefCustomer').': '.($this->ref_customer ? $this->ref_customer : $this->ref_client); @@ -1647,14 +1881,15 @@ class Expedition extends CommonObject { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowSending"); + $label = $langs->trans("Shipment"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; $linkclose .= ' class="classfortooltip"'; } - $linkstart = ''; + $linkstart = ''; $linkend = ''; $result .= $linkstart; @@ -2616,7 +2851,7 @@ class ExpeditionLigne extends CommonObjectLine { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."expeditiondet"); - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -2690,7 +2925,7 @@ class ExpeditionLigne extends CommonObjectLine if (!$error && $this->db->query($sql)) { // Remove extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -2894,7 +3129,7 @@ class ExpeditionLigne extends CommonObjectLine if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/expedition/document.php b/htdocs/expedition/document.php index 65786dfbdae..6047be5fe0e 100644 --- a/htdocs/expedition/document.php +++ b/htdocs/expedition/document.php @@ -53,11 +53,12 @@ if ($user->socid) $result = restrictedArea($user, 'expedition', $id, ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/expedition/index.php b/htdocs/expedition/index.php index a930fed21b0..d3fec260d95 100644 --- a/htdocs/expedition/index.php +++ b/htdocs/expedition/index.php @@ -47,7 +47,7 @@ $shipment = new Expedition($db); $helpurl = 'EN:Module_Shipments|FR:Module_Expéditions|ES:Módulo_Expediciones'; llxHeader('', $langs->trans("Shipment"), $helpurl); -print load_fiche_titre($langs->trans("SendingsArea")); +print load_fiche_titre($langs->trans("SendingsArea"), '', 'dolly'); print '
    '; diff --git a/htdocs/expedition/list.php b/htdocs/expedition/list.php index 6f33c41c9dc..999bde3fb32 100644 --- a/htdocs/expedition/list.php +++ b/htdocs/expedition/list.php @@ -365,11 +365,10 @@ if ($resql) print ''; print ''; print ''; - print ''; print ''; print ''; - print_barre_liste($langs->trans('ListOfSendings'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, '', 0, $newcardbutton, '', $limit); + print_barre_liste($langs->trans('ListOfSendings'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'dolly', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendShippingRef"; $modelmail = "shipping_send"; @@ -734,7 +733,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/expedition/stats/index.php b/htdocs/expedition/stats/index.php index 5d3c8038bc2..db28b094e65 100644 --- a/htdocs/expedition/stats/index.php +++ b/htdocs/expedition/stats/index.php @@ -58,7 +58,7 @@ $form = new Form($db); llxHeader(); -print load_fiche_titre($langs->trans("StatisticsOfSendings"), $mesg); +print load_fiche_titre($langs->trans("StatisticsOfSendings"), '', 'dolly'); dol_mkdir($dir); diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index fd582ac0a1e..2a0f804b196 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -2330,7 +2330,7 @@ else print ''; if (empty($conf->global->EXPENSEREPORT_DISABLE_ATTACHMENT_ON_LINES)) { - print '   -   '.''.$langs->trans("AttachTheNewLineToTheDocument"); + print '   -   '.$langs->trans("AttachTheNewLineToTheDocument"); print img_picto($langs->trans("AttachTheNewLineToTheDocument"), 'chevron-down', '', false, 0, 0, '', 'marginleftonly'); print ''; } @@ -2478,7 +2478,7 @@ else print ''; if (empty($conf->global->EXPENSEREPORT_DISABLE_ATTACHMENT_ON_LINES)) { - print '   -   '.''.$langs->trans("AttachTheNewLineToTheDocument"); + print '   -   '.$langs->trans("AttachTheNewLineToTheDocument"); print img_picto($langs->trans("AttachTheNewLineToTheDocument"), 'chevron-down', '', false, 0, 0, '', 'marginleftonly'); print ''; } diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index 48170d68763..70d8a3d9b59 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -704,8 +704,8 @@ class ExpenseReport extends CommonObject // phpcs:enable global $langs; - $labelStatus = $langs->trans($this->statuts[$status]); - $labelStatusShort = $langs->trans($this->statuts_short[$status]); + $labelStatus = $langs->transnoentitiesnoconv($this->statuts[$status]); + $labelStatusShort = $langs->transnoentitiesnoconv($this->statuts_short[$status]); $statusType = $this->statuts_logo[$status]; @@ -1049,7 +1049,7 @@ class ExpenseReport extends CommonObject $deplig = new ExpenseReportLine($this->db); $deplig->rowid = $objp->rowid; - $deplig->id = $objp->id; + $deplig->id = $objp->rowid; $deplig->comments = $objp->comments; $deplig->qty = $objp->qty; $deplig->value_unit = $objp->value_unit; diff --git a/htdocs/expensereport/document.php b/htdocs/expensereport/document.php index 0c974ef450a..17b7eb57619 100644 --- a/htdocs/expensereport/document.php +++ b/htdocs/expensereport/document.php @@ -48,11 +48,12 @@ $result = restrictedArea($user, 'expensereport', $id, 'expensereport'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index accea8f8251..0597d1b29a2 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -45,11 +45,12 @@ $socid = GETPOST('socid', 'int'); if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'expensereport', '', ''); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "DESC"; diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index bf2e1ee696f..07f0e332276 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -760,7 +760,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; diff --git a/htdocs/fichinter/card-rec.php b/htdocs/fichinter/card-rec.php index 7b0ad3180ec..b5b259f2430 100644 --- a/htdocs/fichinter/card-rec.php +++ b/htdocs/fichinter/card-rec.php @@ -224,7 +224,7 @@ if ($action == 'add') { * View */ -llxHeader('', $langs->trans("RepeatableInterventional"), 'ch-fichinter.html#s-fac-fichinter-rec'); +llxHeader('', $langs->trans("RepeatableIntervention"), 'ch-fichinter.html#s-fac-fichinter-rec'); $form = new Form($db); $companystatic = new Societe($db); @@ -245,7 +245,7 @@ $today = dol_mktime(23, 59, 59, $tmparray['mon'], $tmparray['mday'], $tmparray[' * Create mode */ if ($action == 'create') { - print load_fiche_titre($langs->trans("CreateRepeatableIntervention"), '', 'fichinter'); + print load_fiche_titre($langs->trans("CreateRepeatableIntervention"), '', 'intervention'); $object = new Fichinter($db); // Source invoice //$object = new Managementfichinter($db); // Source invoice @@ -429,7 +429,7 @@ if ($action == 'create') { dol_print_error('', "Error, no fichinter ".$object->id); } } elseif ($action == 'selsocforcreatefrommodel') { - print load_fiche_titre($langs->trans("CreateRepeatableIntervention"), '', 'commercial'); + print load_fiche_titre($langs->trans("CreateRepeatableIntervention"), '', 'intervention'); dol_fiche_head(''); print ''; @@ -764,20 +764,10 @@ if ($action == 'create') { $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); - print_barre_liste( - $langs->trans("RepeatableInterventional"), - $page, - $_SERVER['PHP_SELF'], - "&socid=$socid", - $sortfield, - $sortorder, - '', - $num, - '', - 'commercial' - ); - print $langs->trans("ToCreateAPredefinedInterventional").'

    '; + print_barre_liste($langs->trans("RepeatableIntervention"), $page, $_SERVER['PHP_SELF'], "&socid=$socid", $sortfield, $sortorder, '', $num, '', 'intervention'); + + print ''.$langs->trans("ToCreateAPredefinedIntervention").'

    '; $i = 0; print '
    '.$langs->trans("Project").''; + print img_picto('', 'project'); $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); - print '   id).'">'.$langs->trans("AddProject").''; + print ' id).'">'; print '
    '.''.'
    '.''.''.$formproduct->selectLotStock('', 'batchl'.$line_id.'_0', '', 1, 0, $lines[$i]->fk_product).'
    '.''.''.$formproduct->selectWarehouses($lines[$i]->entrepot_id, 'entl'.$line_id, '', 1, 0, $lines[$i]->fk_product, '', 1).'
    '.''.''.$formproduct->selectWarehouses($detail_entrepot->entrepot_id, 'entl'.$detail_entrepot->line_id, '', 1, 0, $lines[$i]->fk_product, '', 1).'
    '.''.''.''.'
    '; diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 43ff4c978d8..28878443518 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -825,7 +825,7 @@ if ($action == 'create') $soc = new Societe($db); - print load_fiche_titre($langs->trans("AddIntervention"), '', 'title_commercial'); + print load_fiche_titre($langs->trans("AddIntervention"), '', 'intervention'); dol_htmloutput_mesg($mesg); @@ -1395,7 +1395,6 @@ elseif ($id > 0 || !empty($ref)) print ''; print ''; print ''; - print ''; print "\n"; } while ($i < $num) @@ -1420,16 +1419,14 @@ elseif ($id > 0 || !empty($ref)) print "\n"; - // Icone d'edition et suppression + // Econ to edit and delete if ($object->statut == 0 && $user->rights->ficheinter->creer) { print ''; - print ''; print ''; + print ''; } print ''; @@ -1470,7 +1467,7 @@ elseif ($id > 0 || !empty($ref)) // Line in update mode if ($object->statut == 0 && $action == 'editline' && $user->rights->ficheinter->creer && GETPOST('line_id', 'int') == $objp->rowid) { - print ''; + print ''; print ''; - print ''; + print ''; print ''."\n"; $line = new FichinterLigne($db); @@ -1534,7 +1532,7 @@ elseif ($id > 0 || !empty($ref)) print "\n"; } - print ''."\n"; + print ''."\n"; print ''; + print ''; if (!$i) $totalarray['nbfield']++; } // Fields of detail of line diff --git a/htdocs/fichinter/stats/index.php b/htdocs/fichinter/stats/index.php index 9e133f8c5de..0ca948312c6 100644 --- a/htdocs/fichinter/stats/index.php +++ b/htdocs/fichinter/stats/index.php @@ -65,7 +65,7 @@ $dir = $conf->ficheinter->dir_temp; llxHeader('', $title); -print load_fiche_titre($title, '', 'commercial'); +print load_fiche_titre($title, '', 'intervention'); dol_mkdir($dir); diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 0780154118e..b70419de5f4 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -31,7 +31,7 @@ */ if (!defined('DOL_APPLICATION_TITLE')) define('DOL_APPLICATION_TITLE', 'Dolibarr'); -if (!defined('DOL_VERSION')) define('DOL_VERSION', '12.0.0-alpha'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c +if (!defined('DOL_VERSION')) define('DOL_VERSION', '13.0.0-alpha'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c if (!defined('EURO')) define('EURO', chr(128)); diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index 5f872b09bae..6470b7db313 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -295,7 +295,7 @@ if ($object->id > 0) print ''; print ''; - if (!empty($conf->fournisseur->enabled) && !empty($conf->global->ORDER_MANAGE_MIN_AMOUNT)) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) && !empty($conf->global->ORDER_MANAGE_MIN_AMOUNT)) { print ''; print '\n"; + $paymentfournstatic = new PaiementFourn($db); + $i = 0; $totalarray = array(); while ($i < min($num, $limit)) { $objp = $db->fetch_object($resql); + $paymentfournstatic->id = $objp->pid; + $paymentfournstatic->ref = $objp->ref; + $paymentfournstatic->datepaye = $objp->dp; + print ''; // Ref payment - print ''; + print ''; if (!$i) $totalarray['nbfield']++; // Date diff --git a/htdocs/fourn/facture/rapport.php b/htdocs/fourn/facture/rapport.php index 3e9326a94bf..9f38c4c4f9e 100644 --- a/htdocs/fourn/facture/rapport.php +++ b/htdocs/fourn/facture/rapport.php @@ -1,5 +1,6 @@ + * Copyright (C) 2020 Maxime DEMAREST * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,6 +25,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/modules/rapport/pdf_paiement_fourn.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->loadLangs(array('bills')); @@ -86,12 +88,13 @@ if ($action == 'builddoc') */ $formother = new FormOther($db); +$formfile = new FormFile($db); $titre = ($year ? $langs->trans("PaymentsReportsForYear", $year) : $langs->trans("PaymentsReports")); llxHeader('', $titre); -print load_fiche_titre($titre, '', 'invoicing'); +print load_fiche_titre($titre, '', 'supplier_invoice'); // Formulaire de generation print ''; @@ -157,13 +160,14 @@ if ($year) { $tfile = $dir.'/'.$year.'/'.$file; $relativepath = $year.'/'.$file; - print ''.''; + print ''; print ''; print ''; } } closedir($handle); } + print '
    '.(empty($conf->global->FICHINTER_WITHOUT_DURATION) ? $langs->trans('Duration') : '').'   
    '; - print 'rowid.'#'.$objp->rowid.'">'; + print 'rowid.'#'.$objp->rowid.'">'; print img_edit(); print ''; - print ''; - print 'rowid.'">'; + print 'rowid.'">'; print img_delete(); print ''; @@ -1437,13 +1434,13 @@ elseif ($id > 0 || !empty($ref)) { if ($i > 0) { - print 'rowid.'">'; + print 'rowid.'">'; print img_up(); print ''; } if ($i < $num - 1) { - print 'rowid.'">'; + print 'rowid.'">'; print img_down(); print ''; } @@ -1452,7 +1449,7 @@ elseif ($id > 0 || !empty($ref)) } else { - print '  
    '; print ''; // ancre pour retourner sur la ligne @@ -1499,8 +1496,9 @@ elseif ($id > 0 || !empty($ref)) } print ''; - print '
    '; + print ''; + print '
    '; // editeur wysiwyg if (empty($conf->global->FICHINTER_EMPTY_LINE_DESC)) { diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index ff88847140b..1f14d8aa4c8 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -305,7 +305,7 @@ class Fichinter extends CommonObject if (!$resql) $error++; } - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -385,7 +385,7 @@ class Fichinter extends CommonObject dol_syslog(get_class($this)."::update", LOG_DEBUG); if ($this->db->query($sql)) { - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -729,7 +729,7 @@ class Fichinter extends CommonObject */ public function getLibStatut($mode = 0) { - return $this->LibStatut($this->statut, $mode); + return $this->LibStatut((isset($this->statut) ? $this->statut : $this->status), $mode); } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps @@ -783,7 +783,7 @@ class Fichinter extends CommonObject $label = ''.$langs->trans("ShowIntervention").''; $label .= '
    '.$langs->trans('Ref').': '.$this->ref; - if (isset($this->statut)) { + if (isset($this->status)) { $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); } @@ -992,6 +992,16 @@ class Fichinter extends CommonObject } } + if (!$error) + { + $main = MAIN_DB_PREFIX.'fichinterdet'; + $ef = $main."_extrafields"; + $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_fichinter = ".$this->id.")"; + + $resql = $this->db->query($sql); + if (!$resql) $error++; + } + if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet"; @@ -1001,7 +1011,7 @@ class Fichinter extends CommonObject if (!$resql) $error++; } - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { // Remove extrafields $res = $this->deleteExtraFields(); @@ -1552,7 +1562,7 @@ class FichinterLigne extends CommonObjectLine $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'fichinterdet'); $this->rowid = $this->id; - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1623,7 +1633,7 @@ class FichinterLigne extends CommonObjectLine $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1735,6 +1745,13 @@ class FichinterLigne extends CommonObjectLine dol_syslog(get_class($this)."::deleteline lineid=".$this->id); $this->db->begin(); + $result = $this->deleteExtraFields(); + if ($result < 0) { + $error++; + $this->db->rollback(); + return -1; + } + $sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet WHERE rowid = ".$this->id; $resql = $this->db->query($sql); diff --git a/htdocs/fichinter/document.php b/htdocs/fichinter/document.php index 925ad7be709..a6b4c88ed09 100644 --- a/htdocs/fichinter/document.php +++ b/htdocs/fichinter/document.php @@ -52,11 +52,12 @@ $result = restrictedArea($user, 'ficheinter', $id, 'fichinter'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php index fdf5a222dee..1ee24997e87 100644 --- a/htdocs/fichinter/index.php +++ b/htdocs/fichinter/index.php @@ -57,11 +57,12 @@ if ($user->socid > 0) $fichinterstatic = new Fichinter($db); $form = new Form($db); $formfile = new FormFile($db); + $help_url = "EN:ModuleFichinters|FR:Module_Fiche_Interventions|ES:Módulo_FichaInterventiones"; llxHeader("", $langs->trans("Interventions"), $help_url); -print load_fiche_titre($langs->trans("InterventionsArea")); +print load_fiche_titre($langs->trans("InterventionsArea"), '', 'intervention'); print '
    '; diff --git a/htdocs/fichinter/list.php b/htdocs/fichinter/list.php index f67e12684fa..64a3c3812bb 100644 --- a/htdocs/fichinter/list.php +++ b/htdocs/fichinter/list.php @@ -202,7 +202,7 @@ foreach ($arrayfields as $tmpkey => $tmpval) } $sql = "SELECT"; -$sql .= " f.ref, f.rowid, f.fk_statut, f.description, f.datec as date_creation, f.tms as date_update, f.note_private,"; +$sql .= " f.ref, f.rowid, f.fk_statut as status, f.description, f.datec as date_creation, f.tms as date_update, f.note_private,"; if (empty($conf->global->FICHINTER_DISABLE_DETAILS) && $atleastonefieldinlines) $sql .= "fd.rowid as lineid, fd.description as descriptiondetail, fd.date as dp, fd.duree,"; $sql .= " s.nom as name, s.rowid as socid, s.client, s.fournisseur, s.email, s.status as thirdpartystatus"; if (!empty($conf->projet->enabled)) { @@ -249,7 +249,7 @@ if ($search_desc) { else $sql .= natural_search(array('f.description'), $search_desc); } if ($search_status != '' && $search_status >= 0) { - $sql .= ' AND f.fk_statut = '.$search_status; + $sql .= ' AND f.fk_statut = '.urlencode($search_status); } if (!$user->rights->societe->client->voir && empty($socid)) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; @@ -476,7 +476,8 @@ if ($resql) $objectstatic->id = $obj->rowid; $objectstatic->ref = $obj->ref; - $objectstatic->statut = $obj->fk_statut; + $objectstatic->statut = $obj->status; + $objectstatic->status = $obj->status; $companystatic->name = $obj->name; $companystatic->id = $obj->socid; @@ -565,7 +566,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation @@ -587,7 +588,7 @@ if ($resql) // Status if (!empty($arrayfields['f.fk_statut']['checked'])) { - print '
    '.$objectstatic->LibStatut($obj->fk_statut, 5).''.$objectstatic->getLibStatut(5).'
    '; @@ -378,7 +378,7 @@ if ($object->id > 0) if ($link) $boxstat .= ''; } - if ($conf->fournisseur->enabled) + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { // Box proposals $tmp = $object->getOutstandingOrders('supplier'); @@ -396,7 +396,7 @@ if ($object->id > 0) if ($link) $boxstat .= ''; } - if ($conf->fournisseur->enabled) + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { $tmp = $object->getOutstandingBills('supplier'); $outstandingOpened = $tmp['opened']; diff --git a/htdocs/fourn/class/api_supplier_invoices.class.php b/htdocs/fourn/class/api_supplier_invoices.class.php index 179b9f158bc..1f20965fab3 100644 --- a/htdocs/fourn/class/api_supplier_invoices.class.php +++ b/htdocs/fourn/class/api_supplier_invoices.class.php @@ -479,6 +479,203 @@ class SupplierInvoices extends DolibarrApi return $paiement_id; } + /** + * Get lines of a supplier invoice + * + * @param int $id Id of supplier invoice + * + * @url GET {id}/lines + * + * @return array + */ + public function getLines($id) + { + if (!DolibarrApiAccess::$user->rights->fournisseur->facture->creer) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if (!$result) { + throw new RestException(404, 'Supplier invoice not found'); + } + + if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $this->invoice->fetch_lines(); + $result = array(); + foreach ($this->invoice->lines as $line) { + array_push($result, $this->_cleanObjectDatas($line)); + } + return $result; + } + + /** + * Add a line to given supplier invoice + * + * @param int $id Id of supplier invoice to update + * @param array $request_data supplier invoice line data + * + * @url POST {id}/lines + * + * @return int|bool + */ + public function postLine($id, $request_data = null) + { + if (!DolibarrApiAccess::$user->rights->fournisseur->facture->creer) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if (!$result) { + throw new RestException(404, 'Supplier invoice not found'); + } + + if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $request_data = (object) $request_data; + + $updateRes = $this->invoice->addline( + $request_data->description, + $request_data->pu_ht, + $request_data->tva_tx, + $request_data->localtax1_tx, + $request_data->localtax2_tx, + $request_data->qty, + $request_data->fk_product, + $request_data->remise_percent, + $request_data->date_start, + $request_data->date_end, + $request_data->ventil, + $request_data->info_bits, + 'HT', + $request_data->product_type, + $request_data->rang, + false, + $request_data->array_options, + $request_data->fk_unit, + $request_data->origin_id, + $request_data->multicurrency_subprice, + $request_data->ref_supplier, + $request_data->special_code + ); + + if ($updateRes < 0) { + throw new RestException(400, 'Unable to insert the new line. Check your inputs. '.$this->invoice->error); + } + + return $updateRes; + } + + /** + * Update a line to a given supplier invoice + * + * @param int $id Id of supplier invoice to update + * @param int $lineid Id of line to update + * @param array $request_data InvoiceLine data + * + * @url PUT {id}/lines/{lineid} + * + * @return object + * + * @throws 200 + * @throws 304 + * @throws 401 + * @throws 404 + */ + public function putLine($id, $lineid, $request_data = null) + { + if (!DolibarrApiAccess::$user->rights->fournisseur->facture->creer) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if (!$result) { + throw new RestException(404, 'Supplier invoice not found'); + } + + if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $request_data = (object) $request_data; + $updateRes = $this->invoice->updateline( + $lineid, + $request_data->description, + $request_data->pu_ht, + $request_data->tva_tx, + $request_data->localtax1_tx, + $request_data->localtax2_tx, + $request_data->qty, + $request_data->fk_product, + 'HT', + $request_data->info_bits, + $request_data->product_type, + $request_data->remise_percent, + false, + $request_data->date_start, + $request_data->date_end, + $request_data->array_options, + $request_data->fk_unit, + $request_data->multicurrency_subprice, + $request_data->ref_supplier + ); + + if ($updateRes > 0) { + $result = $this->get($id); + unset($result->line); + return $this->_cleanObjectDatas($result); + } else { + throw new RestException(304, $this->invoice->error); + } + } + + /** + * Deletes a line of a given supplier invoice + * + * @param int $id Id of supplier invoice + * @param int $lineid Id of the line to delete + * + * @url DELETE {id}/lines/{lineid} + * + * @return array + * + * @throws 400 + * @throws 401 + * @throws 404 + * @throws 405 + */ + public function deleteLine($id, $lineid) + { + if (!DolibarrApiAccess::$user->rights->fournisseur->facture->creer) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if (!$result) { + throw new RestException(404, 'Supplier invoice not found'); + } + + if (empty($lineid)) { + throw new RestException(400, 'Line ID is mandatory'); + } + + if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + // TODO Check the lineid $lineid is a line of ojbect + + $updateRes = $this->invoice->deleteline($lineid); + if ($updateRes > 0) { + return $this->get($id); + } + else + { + throw new RestException(405, $this->invoice->error); + } + } + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore /** * Clean sensible object datas diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index e5505cbaa9f..19060b9a393 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -65,7 +65,7 @@ class CommandeFournisseur extends CommonOrder /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'order'; + public $picto = 'supplier_order'; /** * 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -2035,6 +2035,17 @@ class CommandeFournisseur extends CommonOrder // End call triggers } + $main = MAIN_DB_PREFIX.'commande_fournisseurdet'; + $ef = $main."_extrafields"; + $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_commande = ".$this->id.")"; + dol_syslog(get_class($this)."::delete extrafields lines", LOG_DEBUG); + if (!$this->db->query($sql)) + { + $this->error = $this->db->lasterror(); + $this->errors[] = $this->db->lasterror(); + $error++; + } + $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE fk_commande =".$this->id; dol_syslog(get_class($this)."::delete", LOG_DEBUG); if (!$this->db->query($sql)) @@ -2063,7 +2074,7 @@ class CommandeFournisseur extends CommonOrder } // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -3189,7 +3200,7 @@ class CommandeFournisseur extends CommonOrder { global $conf, $langs; - if (!empty($conf->fournisseur->enabled)) + if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) { require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; @@ -3626,7 +3637,7 @@ class CommandeFournisseurLigne extends CommonOrderLine $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element); $this->rowid = $this->id; - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -3716,7 +3727,7 @@ class CommandeFournisseurLigne extends CommonOrderLine $result = $this->db->query($sql); if ($result > 0) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -3771,6 +3782,14 @@ class CommandeFournisseurLigne extends CommonOrderLine $this->db->begin(); + // extrafields + $result = $this->deleteExtraFields(); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + $sql = 'DELETE FROM '.MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid=".$this->id; dol_syslog(__METHOD__, LOG_DEBUG); diff --git a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php index 6a7d8a3e8ba..19ea5880346 100644 --- a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php +++ b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php @@ -210,22 +210,11 @@ class CommandeFournisseurDispatch extends CommonObject } } - // Actions on extra fields (by external module or standard code) - // TODO le hook fait double emploi avec le trigger !! - $hookmanager->initHooks(array('commandefournisseurdispatchdao')); - $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++; - } - } + // Create extrafields + if (!$error) + { + $result = $this->insertExtraFields(); + if ($result < 0) $error++; } // Commit or rollback @@ -303,6 +292,7 @@ class CommandeFournisseurDispatch extends CommonObject $this->batch = $obj->batch; $this->eatby = $this->db->jdate($obj->eatby); $this->sellby = $this->db->jdate($obj->sellby); + $this->fetch_optionals(); } $this->db->free($resql); @@ -373,7 +363,7 @@ class CommandeFournisseurDispatch extends CommonObject if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { if (empty($this->id) && !empty($this->rowid))$this->id = $this->rowid; $result = $this->insertExtraFields(); @@ -439,6 +429,16 @@ class CommandeFournisseurDispatch extends CommonObject } } + // Remove extrafields + if (!$error) { + $result = $this->deleteExtraFields(); + if ($result < 0) + { + $error++; + dol_syslog(get_class($this)."::delete error deleteExtraFields ".$this->error, LOG_ERR); + } + } + if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element; @@ -689,6 +689,7 @@ class CommandeFournisseurDispatch extends CommonObject $line->batch = $obj->batch; $line->eatby = $this->db->jdate($obj->eatby); $line->sellby = $this->db->jdate($obj->sellby); + $line->fetch_optionals(); $this->lines[$line->id] = $line; } diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 916ef2f001d..52d1b9bf326 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -12,7 +12,7 @@ * Copyright (C) 2015-2019 Ferran Marcet * Copyright (C) 2016 Alexandre Spangaro * Copyright (C) 2018 Nicolas ZABOURI - * Copyright (C) 2018 Frédéric France + * Copyright (C) 2018-2020 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -66,7 +66,7 @@ class FactureFournisseur extends CommonInvoice /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'bill'; + public $picto = 'supplier_invoice'; /** * 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -558,7 +558,7 @@ class FactureFournisseur extends CommonInvoice if ($result > 0) { // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); // This also set $this->error or $this->errors if errors are found if ($result < 0) @@ -977,6 +977,15 @@ class FactureFournisseur extends CommonInvoice } } + if (!$error) + { + $result = $this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + if (!$error) { if (!$notrigger) @@ -1171,10 +1180,14 @@ class FactureFournisseur extends CommonInvoice if (!$error) { + $main = MAIN_DB_PREFIX.'facture_fourn_det'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_facture_fourn = $rowid)"; + $resqlef = $this->db->query($sqlef); $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture_fourn_det WHERE fk_facture_fourn = '.$rowid.';'; dol_syslog(get_class($this)."::delete", LOG_DEBUG); $resql = $this->db->query($sql); - if ($resql) + if ($resqlef && $resql) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture_fourn WHERE rowid = '.$rowid; dol_syslog(get_class($this)."::delete", LOG_DEBUG); @@ -1234,7 +1247,7 @@ class FactureFournisseur extends CommonInvoice } // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -2025,7 +2038,7 @@ class FactureFournisseur extends CommonInvoice $this->errors[] = $line->error; } else { // Update total price into invoice record - $res = $this->update_price('', 'auto'); + $res = $this->update_price('', 'auto', 0, $this->thirdparty); } return $res; @@ -2342,7 +2355,7 @@ class FactureFournisseur extends CommonInvoice if ($this->type == self::TYPE_CREDIT_NOTE) $picto .= 'a'; // Credit note if ($this->type == self::TYPE_DEPOSIT) $picto .= 'd'; // Deposit invoice - $label = ''.$langs->trans("ShowSupplierInvoice").''; + $label = ''.$langs->trans("SupplierInvoice").''; if (!empty($this->ref)) $label .= '
    '.$langs->trans('Ref').': '.$this->ref; if (!empty($this->ref_supplier)) @@ -2665,6 +2678,7 @@ class FactureFournisseur extends CommonInvoice if ($result < 0) { $this->error = $object->error; + $this->errors = $object->errors; $error++; } @@ -3119,7 +3133,7 @@ class SupplierInvoiceLine extends CommonObjectLine */ public function delete($notrigger = 0) { - global $user; + global $user, $conf; dol_syslog(get_class($this)."::deleteline rowid=".$this->id, LOG_DEBUG); @@ -3135,6 +3149,17 @@ class SupplierInvoiceLine extends CommonObjectLine $this->deleteObjectLinked(); + // Remove extrafields + if (!$error) + { + $result = $this->deleteExtraFields(); + if ($result < 0) + { + $error++; + dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR); + } + } + if (!$error) { // Supprime ligne $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture_fourn_det '; @@ -3245,7 +3270,7 @@ class SupplierInvoiceLine extends CommonObjectLine $this->rowid = $this->id; $error = 0; - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -3386,7 +3411,7 @@ class SupplierInvoiceLine extends CommonObjectLine $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element); $this->rowid = $this->id; // backward compatibility - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index ace596b6bb4..a95aefede0f 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -67,6 +67,8 @@ class PaiementFourn extends Paiement */ public $type_code; + + /** * Constructor * @@ -583,13 +585,14 @@ class PaiementFourn extends Paiement $result = ''; $text = $this->ref; // Sometimes ref contains label + $reg = array(); if (preg_match('/^\((.*)\)$/i', $text, $reg)) { // Label generique car entre parentheses. On l'affiche en le traduisant if ($reg[1] == 'paiement') $reg[1] = 'Payment'; $text = $langs->trans($reg[1]); } - $label = ''.$langs->trans("ShowPayment").'
    '; + $label = ''.$langs->trans("Payment").'
    '; $label .= ''.$langs->trans("Ref").': '.$text; if ($this->datepaye ? $this->datepaye : $this->date) $label .= '
    '.$langs->trans("Date").': '.dol_print_date($this->datepaye ? $this->datepaye : $this->date, 'dayhour'); diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index bc86076644c..0cd823304ee 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1064,7 +1064,7 @@ if (empty($reshook)) if (!$error) { // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $object->insertExtraFields('ORDER_SUPPLIER_MODIFY'); if ($result < 0) @@ -1190,7 +1190,7 @@ if (empty($reshook)) } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) // For avoid conflicts if + if (method_exists($lines[$i], 'fetch_optionals')) // For avoid conflicts if { $lines[$i]->fetch_optionals(); $array_option = $lines[$i]->array_options; @@ -1465,7 +1465,7 @@ llxHeader('', $langs->trans("Order"), $help_url); $now = dol_now(); if ($action == 'create') { - print load_fiche_titre($langs->trans('NewOrderSupplier')); + print load_fiche_titre($langs->trans('NewOrderSupplier'), '', 'supplier_order'); dol_htmloutput_events(); diff --git a/htdocs/fourn/commande/document.php b/htdocs/fourn/commande/document.php index 2292f335c40..7db240abf94 100644 --- a/htdocs/fourn/commande/document.php +++ b/htdocs/fourn/commande/document.php @@ -51,11 +51,12 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'fournisseur', $id, 'commande_fournisseur', 'commande'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/fourn/commande/index.php b/htdocs/fourn/commande/index.php index c12d74e7045..c0272d58a03 100644 --- a/htdocs/fourn/commande/index.php +++ b/htdocs/fourn/commande/index.php @@ -54,7 +54,7 @@ $commandestatic = new CommandeFournisseur($db); $userstatic = new User($db); $formfile = new FormFile($db); -print load_fiche_titre($langs->trans("SuppliersOrdersArea"), '', 'commercial'); +print load_fiche_titre($langs->trans("SuppliersOrdersArea"), '', 'supplier_order'); print '
    '; diff --git a/htdocs/fourn/commande/info.php b/htdocs/fourn/commande/info.php index 3605c2b5751..f41e9e3fece 100644 --- a/htdocs/fourn/commande/info.php +++ b/htdocs/fourn/commande/info.php @@ -40,6 +40,17 @@ $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); $action = GETPOST('action', 'alpha'); +$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); +if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortfield) $sortfield = 'a.datep,a.id'; +if (!$sortorder) $sortorder = 'DESC,DESC'; + if (GETPOST('actioncode', 'array')) { $actioncode = GETPOST('actioncode', 'array', 3); @@ -212,12 +223,12 @@ if (!empty($object->id)) //show_actions_todo($conf,$langs,$db,$object,null,0,$actioncode); // List of done actions - //show_actions_done($conf,$langs,$db,$object,null,0,$actioncode); + //show_actions_done($conf,$langs,$db,$object,null,0,$actioncode, '', $filters, $sortfield, $sortorder); // List of all actions $filters = array(); $filters['search_agenda_label'] = $search_agenda_label; - show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters); + show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder); } // End of page diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index f1f64b996a5..acd79212052 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -675,7 +675,7 @@ if ($resql) print ''; print ''; - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'supplier_order', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendOrderRef"; $modelmail = "order_supplier_send"; diff --git a/htdocs/fourn/contact.php b/htdocs/fourn/contact.php index 06e7f09edd7..40773f0eca6 100644 --- a/htdocs/fourn/contact.php +++ b/htdocs/fourn/contact.php @@ -41,11 +41,12 @@ if ($user->socid > 0) $socid = $user->socid; } +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 697c8cb74f0..6e8f259bc01 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -951,7 +951,7 @@ if (empty($reshook)) $product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0); // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); } @@ -1597,7 +1597,7 @@ if (empty($reshook)) if (!$error) { // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $object->insertExtraFields('BILL_SUPPLIER_MODIFY'); if ($result < 0) @@ -1695,7 +1695,7 @@ if ($action == 'create') { $facturestatic = new FactureFournisseur($db); - print load_fiche_titre($langs->trans('NewBill')); + print load_fiche_titre($langs->trans('NewBill'), '', 'supplier_invoice'); dol_htmloutput_events(); diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index 287a85bc7cc..022028bb483 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -50,11 +50,12 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/fourn/facture/impayees.php b/htdocs/fourn/facture/impayees.php index 4e5ed4dbae2..5368b491728 100644 --- a/htdocs/fourn/facture/impayees.php +++ b/htdocs/fourn/facture/impayees.php @@ -54,9 +54,10 @@ $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'); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortfield) $sortfield = "f.date_lim_reglement"; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 1c636cf116d..e3f331757ba 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -525,7 +525,7 @@ if ($resql) print ''; print ''; - print_barre_liste($langs->trans("BillsSuppliers").($socid ? ' '.$soc->name : ''), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'invoicing', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($langs->trans("BillsSuppliers").($socid ? ' '.$soc->name : ''), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'supplier_invoice', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendBillRef"; $modelmail = "invoice_supplier_send"; @@ -1226,7 +1226,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index a907bcd6bb0..e26357bd4ca 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004-2016 Laurent Destailleur + * Copyright (C) 2004-2020 Laurent Destailleur * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin @@ -822,7 +822,7 @@ if (empty($action) || $action == 'list') if (!$sortorder) $sortorder = 'DESC'; if (!$sortfield) $sortfield = 'p.datep'; - $sql = 'SELECT p.rowid as pid, p.datep as dp, p.amount as pamount, p.num_paiement,'; + $sql = 'SELECT p.rowid as pid, p.ref, p.datep as dp, p.amount as pamount, p.num_paiement,'; $sql .= ' s.rowid as socid, s.nom as name,'; $sql .= ' c.code as paiement_type, c.libelle as paiement_libelle,'; $sql .= ' ba.rowid as bid, ba.label,'; @@ -889,8 +889,6 @@ if (empty($action) || $action == 'list') $massactionbutton = $form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge"))); - print_barre_liste($langs->trans('SupplierPayments'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'invoicing', 0, '', '', $limit); - print ''; if ($optioncss != '') print ''; print ''; @@ -898,7 +896,8 @@ if (empty($action) || $action == 'list') print ''; print ''; print ''; - print ''; + + print_barre_liste($langs->trans('SupplierPayments'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'supplier_invoice', 0, '', '', $limit, 0, 0, 1); $moreforfilter = ''; @@ -973,16 +972,24 @@ if (empty($action) || $action == 'list') print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'maxwidthsearch '); print "
    '.img_object($langs->trans('ShowPayment'), 'payment').' '.$objp->pid.''; + print $paymentfournstatic->getNomUrl(1); + print '
    '.img_pdf().' '.$file.'
    '.img_pdf().' '.$file.''.$formfile->showPreview($file, 'facture_fournisseur', 'payments/'.$relativepath, 0).''.dol_print_size(dol_filesize($tfile)).''.dol_print_date(dol_filemtime($tfile), "dayhour").'
    '; } } diff --git a/htdocs/fourn/index.php b/htdocs/fourn/index.php index 813d573d27e..31638abf848 100644 --- a/htdocs/fourn/index.php +++ b/htdocs/fourn/index.php @@ -97,7 +97,7 @@ else // Draft orders -if (!empty($conf->fournisseur->enabled)) +if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled)) { $langs->load("orders"); @@ -154,7 +154,7 @@ if (!empty($conf->fournisseur->enabled)) } // Draft invoices -if (!empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire) { $sql = "SELECT ff.ref_supplier, ff.rowid, ff.total_ttc, ff.type"; $sql .= ", s.nom as name, s.rowid as socid"; diff --git a/htdocs/fourn/recap-fourn.php b/htdocs/fourn/recap-fourn.php index 2cd52bfeb77..8cda5a20d98 100644 --- a/htdocs/fourn/recap-fourn.php +++ b/htdocs/fourn/recap-fourn.php @@ -65,7 +65,7 @@ if ($socid > 0) dol_banner_tab($societe, 'socid', '', ($user->socid ? 0 : 1), 'rowid', 'nom'); dol_fiche_end(); - if (!empty($conf->fournisseur->enabled) && $user->rights->facture->lire) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->facture->lire) { // Invoice list print load_fiche_titre($langs->trans("SupplierPreview")); @@ -77,7 +77,7 @@ if ($socid > 0) $sql .= " u.login, u.rowid as userid"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture_fourn as f,".MAIN_DB_PREFIX."user as u"; $sql .= " WHERE f.fk_soc = s.rowid AND s.rowid = ".$societe->id; - $sql .= " AND f.entity IN (".getEntity("facture_fourn").")"; // Reconaissance de l'entité attribuée à cette facture pour Multicompany + $sql .= " AND f.entity IN (".getEntity("facture_fourn").")"; // Recognition of the entity attributed to this invoice for Multicompany $sql .= " AND f.fk_user_valid = u.rowid"; $sql .= " ORDER BY f.datef DESC"; diff --git a/htdocs/ftp/index.php b/htdocs/ftp/index.php index eedfa9c3c73..0c7f8409992 100644 --- a/htdocs/ftp/index.php +++ b/htdocs/ftp/index.php @@ -47,11 +47,12 @@ $confirm = GETPOST('confirm'); $upload_dir = $conf->ftp->dir_temp; $download_dir = $conf->ftp->dir_temp; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index d2701381bbd..c5554a40fb1 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -1291,7 +1291,9 @@ else if ($includesunday) $htmlhelp .= '
    '.$langs->trans("DayIsANonWorkingDay", $langs->trans("Sunday")); print $form->textwithpicto($langs->trans('NbUseDaysCP'), $htmlhelp); print '
    '.num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday).''; + print num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday); + print '
    '."\n"; @@ -487,7 +487,7 @@ if ($resql) if (!empty($arrayfields['cp.ref']['checked'])) { print ''; } @@ -743,7 +743,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; diff --git a/htdocs/hrm/admin/admin_establishment.php b/htdocs/hrm/admin/admin_establishment.php index c0d7885850b..ba98812f1b2 100644 --- a/htdocs/hrm/admin/admin_establishment.php +++ b/htdocs/hrm/admin/admin_establishment.php @@ -44,11 +44,16 @@ foreach ($tmpstatus2label as $key => $val) $status2label[$key] = $langs->trans($ * Actions */ +// None + + /* * View */ + llxHeader('', $langs->trans("Establishments")); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortorder = GETPOST("sortorder"); $sortfield = GETPOST("sortfield"); if (!$sortorder) $sortorder = "DESC"; @@ -58,7 +63,7 @@ if (empty($page) || $page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; diff --git a/htdocs/index.php b/htdocs/index.php index 026e6dc8347..7f6e462839b 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2017 Laurent Destailleur + * Copyright (C) 2004-2020 Laurent Destailleur * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2015 Marcos García @@ -125,225 +125,195 @@ if (empty($user->socid) && empty($conf->global->MAIN_DISABLE_GLOBAL_BOXSTATS)) if (empty($reshook)) { + // Cle array returned by the method load_state_board for each line + $keys = array( + 'users', + 'members', + 'expensereports', + 'holidays', + 'customers', + 'prospects', + 'suppliers', + 'contacts', + 'products', + 'services', + 'projects', + 'proposals', + 'orders', + 'invoices', + 'donations', + 'supplier_proposals', + 'supplier_orders', + 'supplier_invoices', + 'contracts', + 'interventions', + 'ticket' + ); + // Condition to be checked for each display line dashboard $conditions = array( - $user->rights->user->user->lire, - !empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS), - !empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS), - !empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS), - !empty($conf->societe->enabled) && $user->rights->societe->contact->lire, - !empty($conf->adherent->enabled) && $user->rights->adherent->lire, - !empty($conf->product->enabled) && $user->rights->produit->lire, - !empty($conf->service->enabled) && $user->rights->service->lire, - !empty($conf->propal->enabled) && $user->rights->propale->lire, - !empty($conf->commande->enabled) && $user->rights->commande->lire, - !empty($conf->facture->enabled) && $user->rights->facture->lire, - !empty($conf->contrat->enabled) && $user->rights->contrat->lire, - !empty($conf->ficheinter->enabled) && $user->rights->ficheinter->lire, - !empty($conf->supplier_order->enabled) && $user->rights->fournisseur->commande->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_ORDERS_STATS), - !empty($conf->supplier_invoice->enabled) && $user->rights->fournisseur->facture->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_INVOICES_STATS), - !empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposal->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_PROPOSAL_STATS), - !empty($conf->projet->enabled) && $user->rights->projet->lire, - !empty($conf->expensereport->enabled) && $user->rights->expensereport->lire, - !empty($conf->holiday->enabled) && $user->rights->holiday->read, - !empty($conf->don->enabled) && $user->rights->don->lire, - !empty($conf->ticket->enabled) && $user->rights->ticket->read + 'users' => $user->rights->user->user->lire, + 'members' => !empty($conf->adherent->enabled) && $user->rights->adherent->lire, + 'customers' => !empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS), + 'prospects' => !empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS), + 'suppliers' => !empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS), + 'contacts' => !empty($conf->societe->enabled) && $user->rights->societe->contact->lire, + 'services' => !empty($conf->product->enabled) && $user->rights->produit->lire, + 'services' => !empty($conf->service->enabled) && $user->rights->service->lire, + 'proposals' => !empty($conf->propal->enabled) && $user->rights->propale->lire, + 'orders' => !empty($conf->commande->enabled) && $user->rights->commande->lire, + 'invoices' => !empty($conf->facture->enabled) && $user->rights->facture->lire, + 'donations' => !empty($conf->don->enabled) && $user->rights->don->lire, + 'contracts' => !empty($conf->contrat->enabled) && $user->rights->contrat->lire, + 'interventions' => !empty($conf->ficheinter->enabled) && $user->rights->ficheinter->lire, + 'supplier_orders' => !empty($conf->supplier_order->enabled) && $user->rights->fournisseur->commande->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_ORDERS_STATS), + 'supplier_invoices' => !empty($conf->supplier_invoice->enabled) && $user->rights->fournisseur->facture->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_INVOICES_STATS), + 'supplier_proposals' => !empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposal->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_PROPOSAL_STATS), + 'projects' => !empty($conf->projet->enabled) && $user->rights->projet->lire, + 'expensereports' => !empty($conf->expensereport->enabled) && $user->rights->expensereport->lire, + 'holidays' => !empty($conf->holiday->enabled) && $user->rights->holiday->read, + 'ticket' => !empty($conf->ticket->enabled) && $user->rights->ticket->read ); // Class file containing the method load_state_board for each line $includes = array( - DOL_DOCUMENT_ROOT."/user/class/user.class.php", - DOL_DOCUMENT_ROOT."/societe/class/client.class.php", - DOL_DOCUMENT_ROOT."/societe/class/client.class.php", - DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.class.php", - DOL_DOCUMENT_ROOT."/contact/class/contact.class.php", - DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php", - DOL_DOCUMENT_ROOT."/product/class/product.class.php", - DOL_DOCUMENT_ROOT."/product/class/product.class.php", - DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php", - DOL_DOCUMENT_ROOT."/commande/class/commande.class.php", - DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php", - DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php", - DOL_DOCUMENT_ROOT."/fichinter/class/fichinter.class.php", - DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.commande.class.php", - DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.facture.class.php", - DOL_DOCUMENT_ROOT."/supplier_proposal/class/supplier_proposal.class.php", - DOL_DOCUMENT_ROOT."/projet/class/project.class.php", - DOL_DOCUMENT_ROOT."/expensereport/class/expensereport.class.php", - DOL_DOCUMENT_ROOT."/holiday/class/holiday.class.php", - DOL_DOCUMENT_ROOT."/don/class/don.class.php", - DOL_DOCUMENT_ROOT."/ticket/class/ticket.class.php" + 'users' => DOL_DOCUMENT_ROOT."/user/class/user.class.php", + 'members' => DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php", + 'customers' => DOL_DOCUMENT_ROOT."/societe/class/client.class.php", + 'prospects' => DOL_DOCUMENT_ROOT."/societe/class/client.class.php", + 'suppliers' => DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.class.php", + 'contacts' => DOL_DOCUMENT_ROOT."/contact/class/contact.class.php", + 'products' => DOL_DOCUMENT_ROOT."/product/class/product.class.php", + 'services' => DOL_DOCUMENT_ROOT."/product/class/product.class.php", + 'proposals' => DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php", + 'orders' => DOL_DOCUMENT_ROOT."/commande/class/commande.class.php", + 'invoices' => DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php", + 'donations' => DOL_DOCUMENT_ROOT."/don/class/don.class.php", + 'contracts' => DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php", + 'interventions' => DOL_DOCUMENT_ROOT."/fichinter/class/fichinter.class.php", + 'supplier_orders' => DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.commande.class.php", + 'supplier_invoices' => DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.facture.class.php", + 'supplier_proposals' => DOL_DOCUMENT_ROOT."/supplier_proposal/class/supplier_proposal.class.php", + 'projects' => DOL_DOCUMENT_ROOT."/projet/class/project.class.php", + 'expensereports' => DOL_DOCUMENT_ROOT."/expensereport/class/expensereport.class.php", + 'holidays' => DOL_DOCUMENT_ROOT."/holiday/class/holiday.class.php", + 'ticket' => DOL_DOCUMENT_ROOT."/ticket/class/ticket.class.php" ); // Name class containing the method load_state_board for each line - $classes = array('User', - 'Client', - 'Client', - 'Fournisseur', - 'Contact', - 'Adherent', - 'Product', - 'Product', - 'Propal', - 'Commande', - 'Facture', - 'Contrat', - 'Fichinter', - 'CommandeFournisseur', - 'FactureFournisseur', - 'SupplierProposal', - 'Project', - 'ExpenseReport', - 'Holiday', - 'Don', - 'Ticket', - ); - // Cle array returned by the method load_state_board for each line - $keys = array('users', - 'customers', - 'prospects', - 'suppliers', - 'contacts', - 'members', - 'products', - 'services', - 'proposals', - 'orders', - 'invoices', - 'contracts', - 'interventions', - 'supplier_orders', - 'supplier_invoices', - 'askprice', - 'projects', - 'expensereports', - 'holidays', - 'donations', - 'ticket' - ); - // Dashboard Icon lines - $icons = array('user', - 'company', - 'company', - 'company', - 'contact', - 'user', - 'product', - 'service', - 'propal', - 'order', - 'bill', - 'contract', - 'intervention', - 'order', - 'bill', - 'propal', - 'projectpub', - 'trip', - 'holiday', - 'generic', - 'ticket', + $classes = array( + 'users' => 'User', + 'members' => 'Adherent', + 'customers' => 'Client', + 'prospects' => 'Client', + 'suppliers' => 'Fournisseur', + 'contacts' => 'Contact', + 'products' => 'Product', + 'services' => 'ProductService', + 'proposals' => 'Propal', + 'orders' => 'Commande', + 'invoices' => 'Facture', + 'donations' => 'Don', + 'contracts' => 'Contrat', + 'interventions' => 'Fichinter', + 'supplier_orders' => 'CommandeFournisseur', + 'supplier_invoices' => 'FactureFournisseur', + 'supplier_proposals' => 'SupplierProposal', + 'projects' => 'Project', + 'expensereports' => 'ExpenseReport', + 'holidays' => 'Holiday', + 'ticket' => 'Ticket', ); // Translation keyword - $titres = array("Users", - "ThirdPartyCustomersStats", - "ThirdPartyProspectsStats", - "Suppliers", - "Contacts", - "Members", - "Products", - "Services", - "CommercialProposalsShort", - "CustomersOrders", - "BillsCustomers", - "Contracts", - "Interventions", - "SuppliersOrders", - "SuppliersInvoices", - "SupplierProposalShort", - "Projects", - "ExpenseReports", - "Holidays", - "Donations", - "Ticket", + $titres = array( + 'users' => "Users", + 'members' => "Members", + 'customers' => "ThirdPartyCustomersStats", + 'prospects' => "ThirdPartyProspectsStats", + 'suppliers' => "Suppliers", + 'contacts' => "Contacts", + 'products' => "Products", + 'services' => "Services", + 'proposals' => "CommercialProposalsShort", + 'orders' => "CustomersOrders", + 'invoices' => "BillsCustomers", + 'donations' => "Donations", + 'contracts' => "Contracts", + 'interventions' => "Interventions", + 'supplier_orders' => "SuppliersOrders", + 'supplier_invoices' => "SuppliersInvoices", + 'supplier_proposals' => "SupplierProposalShort", + 'projects' => "Projects", + 'expensereports' => "ExpenseReports", + 'holidays' => "Holidays", + 'ticket' => "Ticket", ); // Dashboard Link lines $links = array( - DOL_URL_ROOT.'/user/list.php', - DOL_URL_ROOT.'/societe/list.php?type=c&mainmenu=companies', - DOL_URL_ROOT.'/societe/list.php?type=p&mainmenu=companies', - DOL_URL_ROOT.'/societe/list.php?type=f&mainmenu=companies', - DOL_URL_ROOT.'/contact/list.php?mainmenu=companies', - DOL_URL_ROOT.'/adherents/list.php?statut=1&mainmenu=members', - DOL_URL_ROOT.'/adherents/list.php?statut=-1&mainmenu=members', - DOL_URL_ROOT.'/product/list.php?type=0&mainmenu=products', - DOL_URL_ROOT.'/product/list.php?type=1&mainmenu=products', - DOL_URL_ROOT.'/comm/propal/list.php?mainmenu=commercial&leftmenu=propals', - DOL_URL_ROOT.'/commande/list.php?mainmenu=commercial&leftmenu=orders', - DOL_URL_ROOT.'/compta/facture/list.php?mainmenu=billing&leftmenu=customers_bills', - DOL_URL_ROOT.'/contrat/list.php?mainmenu=commercial&leftmenu=contracts', - DOL_URL_ROOT.'/fichinter/list.php?mainmenu=commercial&leftmenu=ficheinter', - DOL_URL_ROOT.'/fourn/commande/list.php?mainmenu=commercial&leftmenu=orders_suppliers', - DOL_URL_ROOT.'/fourn/facture/list.php?mainmenu=billing&leftmenu=suppliers_bills', - DOL_URL_ROOT.'/supplier_proposal/list.php?mainmenu=commercial&leftmenu=', - DOL_URL_ROOT.'/projet/list.php?mainmenu=project', - DOL_URL_ROOT.'/expensereport/list.php?mainmenu=hrm&leftmenu=expensereport', - DOL_URL_ROOT.'/holiday/list.php?mainmenu=hrm&leftmenu=holiday', - DOL_URL_ROOT.'/don/list.php?leftmenu=donations', - DOL_URL_ROOT.'/ticket/list.php?leftmenu=ticket' + 'users' => DOL_URL_ROOT.'/user/list.php', + 'members' => DOL_URL_ROOT.'/adherents/list.php?statut=1&mainmenu=members', + 'customers' => DOL_URL_ROOT.'/societe/list.php?type=c&mainmenu=companies', + 'prospects' => DOL_URL_ROOT.'/societe/list.php?type=p&mainmenu=companies', + 'suppliers' => DOL_URL_ROOT.'/societe/list.php?type=f&mainmenu=companies', + 'contacts' => DOL_URL_ROOT.'/contact/list.php?mainmenu=companies', + 'products' => DOL_URL_ROOT.'/product/list.php?type=0&mainmenu=products', + 'services' => DOL_URL_ROOT.'/product/list.php?type=1&mainmenu=products', + 'proposals' => DOL_URL_ROOT.'/comm/propal/list.php?mainmenu=commercial&leftmenu=propals', + 'orders' => DOL_URL_ROOT.'/commande/list.php?mainmenu=commercial&leftmenu=orders', + 'invoices' => DOL_URL_ROOT.'/compta/facture/list.php?mainmenu=billing&leftmenu=customers_bills', + 'donations' => DOL_URL_ROOT.'/don/list.php?leftmenu=donations', + 'contracts' => DOL_URL_ROOT.'/contrat/list.php?mainmenu=commercial&leftmenu=contracts', + 'interventions' => DOL_URL_ROOT.'/fichinter/list.php?mainmenu=commercial&leftmenu=ficheinter', + 'supplier_orders' => DOL_URL_ROOT.'/fourn/commande/list.php?mainmenu=commercial&leftmenu=orders_suppliers', + 'supplier_invoices' => DOL_URL_ROOT.'/fourn/facture/list.php?mainmenu=billing&leftmenu=suppliers_bills', + 'supplier_proposals' => DOL_URL_ROOT.'/supplier_proposal/list.php?mainmenu=commercial&leftmenu=', + 'projects' => DOL_URL_ROOT.'/projet/list.php?mainmenu=project', + 'expensereports' => DOL_URL_ROOT.'/expensereport/list.php?mainmenu=hrm&leftmenu=expensereport', + 'holidays' => DOL_URL_ROOT.'/holiday/list.php?mainmenu=hrm&leftmenu=holiday', + 'ticket' => DOL_URL_ROOT.'/ticket/list.php?leftmenu=ticket' ); // Translation lang files $langfile = array( - "users", - "companies", - "prospects", - "suppliers", - "companies", - "members", - "products", - "products", - "propal", - "orders", - "bills", - "contracts", - "interventions", - "bills", - "bills", - "supplier_proposal", - "projects", - "trips", - "holiday", - "donations", - "ticket" + 'customers' => "companies", + 'contacts' => "companies", + 'services' => "products", + 'proposals' => "propal", + 'invoices' => "bills", + 'supplier_orders' => "orders", + 'supplier_invoices' => "bills", + 'supplier_proposals' => 'supplier_proposal', + 'expensereports' => "trips", + 'holidays' => "holiday", ); // Loop and displays each line of table $boardloaded = array(); - foreach ($keys as $key => $val) + foreach ($keys as $val) { - if ($conditions[$key]) + if ($conditions[$val]) { $boxstatItem = ''; - $classe = $classes[$key]; + $class = $classes[$val]; // Search in cache if load_state_board is already realized - if (!isset($boardloaded[$classe]) || !is_object($boardloaded[$classe])) + if (!isset($boardloaded[$class]) || !is_object($boardloaded[$class])) { - include_once $includes[$key]; // Loading a class cost around 1Mb + include_once $includes[$val]; // Loading a class cost around 1Mb - $board = new $classe($db); + $board = new $class($db); $board->load_state_board($user); - $boardloaded[$classe] = $board; + $boardloaded[$class] = $board; } else { - $board = $boardloaded[$classe]; + $board = $boardloaded[$class]; } - if (!empty($langfile[$key])) $langs->load($langfile[$key]); - $text = $langs->trans($titres[$key]); - $boxstatItem .= ''; + $langs->load(empty($langfile[$val]) ? $val : $langfile[$val]); + + $text = $langs->trans($titres[$val]); + $boxstatItem .= ''; $boxstatItem .= '
    '; $boxstatItem .= ''.$text.'
    '; - $boxstatItem .= ''.img_object("", $icons[$key], 'class="inline-block"').' '.($board->nb[$val] ? $board->nb[$val] : 0).''; + $boxstatItem .= ''.img_object("", $board->picto, 'class="inline-block"').' '.($board->nb[$val] ? $board->nb[$val] : 0).''; $boxstatItem .= '
    '; $boxstatItem .= '
    '; @@ -588,7 +558,7 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { 'groupName' => 'Members', 'globalStatsKey' => 'members', 'stats' => - array('member_shift', 'member_expired'), + array('member_shift', 'member_expired'), ), 'ExpenseReport' => array( @@ -721,7 +691,7 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { $openedDashBoard .= '
    '."\n"; $openedDashBoard .= '
    '."\n"; - $openedDashBoard .= ' '."\n"; + $openedDashBoard .= ' '."\n"; $openedDashBoard .= ' '."\n"; // Show the span for the total of record @@ -923,6 +893,7 @@ if (empty($user->socid) && empty($conf->global->MAIN_DISABLE_GLOBAL_BOXSTATS)) } if (!empty($boxstatFromHook) || !empty($boxstatItems)) { + $boxstat .= ''."\n"; $boxstat .= '
    '; $boxstat .= '
    '; - print ''; + print ''; print '
    '; $boxstat .= ''; diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 95e3082cb56..408f4b2a1a8 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -479,7 +479,8 @@ else array('from'=>'8.0.0', 'to'=>'9.0.0'), array('from'=>'9.0.0', 'to'=>'10.0.0'), array('from'=>'10.0.0', 'to'=>'11.0.0'), - array('from'=>'11.0.0', 'to'=>'12.0.0') + array('from'=>'11.0.0', 'to'=>'12.0.0'), + array('from'=>'12.0.0', 'to'=>'13.0.0') ); $count = 0; diff --git a/htdocs/install/default.css b/htdocs/install/default.css index f0e51caecab..f363789c129 100644 --- a/htdocs/install/default.css +++ b/htdocs/install/default.css @@ -53,7 +53,7 @@ div.titre { } span.titre { - font-weight: bold; + /* font-weight: bold; */ background: #FFFFFF; color: rgb(0,113,121); border: 1px solid #bbb; diff --git a/htdocs/install/mysql/migration/10.0.0-11.0.0.sql b/htdocs/install/mysql/migration/10.0.0-11.0.0.sql index bc4b562711b..2a7a8963e9f 100644 --- a/htdocs/install/mysql/migration/10.0.0-11.0.0.sql +++ b/htdocs/install/mysql/migration/10.0.0-11.0.0.sql @@ -582,3 +582,14 @@ create table llx_commande_fournisseur_dispatch_extrafields ALTER TABLE llx_commande_fournisseur_dispatch_extrafields ADD INDEX idx_commande_fournisseur_dispatch_extrafields (fk_object); + +create table llx_facturedet_rec_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, -- object id + import_key varchar(14) -- import key +)ENGINE=innodb; + +ALTER TABLE llx_facturedet_rec_extrafields ADD INDEX idx_facturedet_rec_extrafields (fk_object); + diff --git a/htdocs/install/mysql/migration/11.0.0-12.0.0.sql b/htdocs/install/mysql/migration/11.0.0-12.0.0.sql index 628b298329d..7daf41a05d3 100644 --- a/htdocs/install/mysql/migration/11.0.0-12.0.0.sql +++ b/htdocs/install/mysql/migration/11.0.0-12.0.0.sql @@ -30,6 +30,9 @@ -- Missing in v11 +UPDATE llx_c_units set scale = 3600 where code = 'H' and unit_type = 'time'; +UPDATE llx_c_units set scale = 86400 where code = 'D' and unit_type = 'time'; + create table llx_commande_fournisseur_dispatch_extrafields ( rowid integer AUTO_INCREMENT PRIMARY KEY, @@ -42,9 +45,32 @@ ALTER TABLE llx_commande_fournisseur_dispatch_extrafields ADD INDEX idx_commande UPDATE llx_accounting_system SET fk_country = NULL, active = 0 WHERE pcg_version = 'SYSCOHADA'; +create table llx_c_shipment_package_type +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + label varchar(50) NOT NULL, -- Short name + description varchar(255), -- Description + active integer DEFAULT 1 NOT NULL, -- Active or not + entity integer DEFAULT 1 NOT NULL -- Multi company id +)ENGINE=innodb; + +create table llx_facturedet_rec_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, -- object id + import_key varchar(14) -- import key +)ENGINE=innodb; + +ALTER TABLE llx_facturedet_rec_extrafields ADD INDEX idx_facturedet_rec_extrafields (fk_object); -- For v12 + +-- Delete an old index that is duplicated +-- VMYSQL4.1 DROP INDEX ix_fk_product_stock on llx_product_batch; +-- VPGSQL8.2 DROP INDEX ix_fk_product_stock + DELETE FROM llx_menu where module='supplier_proposal'; UPDATE llx_website SET lang = 'en' WHERE lang like 'en_%'; @@ -224,6 +250,7 @@ ALTER TABLE llx_product_batch MODIFY COLUMN batch varchar(128); ALTER TABLE llx_commande_fournisseur_dispatch MODIFY COLUMN batch varchar(128); ALTER TABLE llx_stock_mouvement MODIFY COLUMN batch varchar(128); ALTER TABLE llx_mrp_production MODIFY COLUMN batch varchar(128); +ALTER TABLE llx_mrp_production MODIFY qty real NOT NULL DEFAULT 1; create table llx_categorie_website_page ( @@ -245,3 +272,18 @@ ALTER TABLE llx_categorie ADD COLUMN fk_user_creat integer; ALTER TABLE llx_categorie ADD COLUMN fk_user_modif integer; ALTER TABLE llx_commandedet ADD CONSTRAINT fk_commandedet_fk_commandefourndet FOREIGN KEY (fk_commandefourndet) REFERENCES llx_commande_fournisseurdet (rowid); + + +-- VMYSQL4.3 ALTER TABLE llx_prelevement_facture_demande MODIFY COLUMN fk_facture INTEGER NULL; +-- VPGSQL8.2 ALTER TABLE llx_prelevement_facture_demande ALTER COLUMN fk_facture DROP NOT NULL; +ALTER TABLE llx_prelevement_facture_demande ADD COLUMN fk_facture_fourn INTEGER NULL; + +-- VMYSQL4.3 ALTER TABLE llx_prelevement_facture MODIFY COLUMN fk_facture INTEGER NULL; +-- VPGSQL8.2 ALTER TABLE llx_prelevement_facture ALTER COLUMN fk_facture DROP NOT NULL; +ALTER TABLE llx_prelevement_facture ADD COLUMN fk_facture_fourn INTEGER NULL; + +ALTER TABLE llx_menu MODIFY COLUMN module varchar(255); + +UPDATE llx_actioncomm SET fk_action = 50 where fk_action = 40 AND code = 'TICKET_MSG'; + +ALTER TABLE llx_emailcollector_emailcollector ADD COLUMN hostcharset varchar(16) DEFAULT 'UTF-8'; diff --git a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql new file mode 100644 index 00000000000..210fe31d1ef --- /dev/null +++ b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql @@ -0,0 +1,36 @@ +-- +-- Be carefull to requests order. +-- This file must be loaded by calling /install/index.php page +-- when current version is 13.0.0 or higher. +-- +-- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y +-- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y +-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new; +-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol; +-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60); +-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname; +-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60); +-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name; +-- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field); +-- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table +-- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex +-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; +-- To make pk to be auto increment (postgres): +-- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid; +-- -- VPGSQL8.2 ALTER TABLE llx_table ADD PRIMARY KEY (rowid); +-- -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN rowid SET DEFAULT nextval('llx_table_rowid_seq'); +-- -- VPGSQL8.2 SELECT setval('llx_table_rowid_seq', MAX(rowid)) FROM llx_table; +-- To set a field as NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NULL; +-- To set a field as NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL; +-- To set a field as NOT NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NOT NULL; +-- To set a field as NOT NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET NOT NULL; +-- To set a field as default NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL; +-- Note: fields with type BLOB/TEXT can't have default value. + + +-- Missing in v12 + + +-- For v13 + + diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql index 65752a542ca..5727b946bcb 100644 --- a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql +++ b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql @@ -216,10 +216,6 @@ ALTER TABLE llx_expeditiondet_batch ADD INDEX idx_fk_expeditiondet (fk_expeditio ALTER TABLE llx_expeditiondet_batch ADD CONSTRAINT fk_expeditiondet_batch_fk_expeditiondet FOREIGN KEY (fk_expeditiondet) REFERENCES llx_expeditiondet(rowid); -ALTER TABLE llx_product_batch ADD INDEX ix_fk_product_stock (fk_product_stock); -ALTER TABLE llx_product_batch ADD CONSTRAINT fk_product_batch_fk_product_stock FOREIGN KEY (fk_product_stock) REFERENCES llx_product_stock (rowid); - - -- New 1074 : Stock mouvement link to origin ALTER TABLE llx_stock_mouvement ADD fk_origin integer; ALTER TABLE llx_stock_mouvement ADD origintype VARCHAR(32); diff --git a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql index 61f4dc544ba..b7fe131c3f9 100644 --- a/htdocs/install/mysql/migration/8.0.0-9.0.0.sql +++ b/htdocs/install/mysql/migration/8.0.0-9.0.0.sql @@ -200,7 +200,7 @@ CREATE TABLE llx_emailcollector_emailcollectorfilter( rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, fk_emailcollector INTEGER NOT NULL, type varchar(128) NOT NULL, - rulevalue varchar(255) NULL, + rulevalue varchar(128) NULL, date_creation datetime NOT NULL, tms timestamp NOT NULL, fk_user_creat integer NOT NULL, diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index 4297c5f324d..24d077654da 100644 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -350,9 +350,14 @@ UPDATE llx_c_lead_status set code = 'WON' where code = 'WIN'; -- To replace amount on all invoice and lines when forgetting to apply a 20% vat -- update llx_facturedet set tva_tx = 20 where tva_tx = 0; -- update llx_facturedet set total_ht = round(total_ttc / 1.2, 5) where total_ht = total_ttc; --- update llx_facturedet set total_tva = total_ttc - total_ht where total_vat = 0; -- update llx_facture set total = round(total_ttc / 1.2, 5) where total_ht = total_ttc; --- update llx_facture set tva = total_ttc - total where tva = 0; + +-- To fix bad total of price excluding tax, vat and price tax including tax. +-- select * from llx_facture where tva <> (total_ttc - total - localtax1 - localtax2 - revenuestamp); +-- update llx_facture set tva = (total_ttc - total - localtax1 - localtax2 - revenuestamp) where tva <> (total_ttc - total - localtax1 - localtax2 - revenuestamp); +-- select * from llx_facturedet where total_tva <> (total_ttc - total_ht - total_localtax1 - total_localtax2); +-- update llx_facturedet set total_tva = (total_ttc - total_ht - total_localtax1 - total_localtax2) where total_tva <> (total_ttc - total_ht - total_localtax1 - total_localtax2); + -- To insert elements into a category -- Search idcategory: select rowid from llx_categorie where type=0 and ref like '%xxx%' diff --git a/htdocs/install/mysql/tables/llx_c_shipment_package_type b/htdocs/install/mysql/tables/llx_c_shipment_package_type.sql similarity index 100% rename from htdocs/install/mysql/tables/llx_c_shipment_package_type rename to htdocs/install/mysql/tables/llx_c_shipment_package_type.sql diff --git a/htdocs/install/mysql/tables/llx_commande.sql b/htdocs/install/mysql/tables/llx_commande.sql index c6b9049a64f..676e768c73b 100644 --- a/htdocs/install/mysql/tables/llx_commande.sql +++ b/htdocs/install/mysql/tables/llx_commande.sql @@ -58,7 +58,7 @@ create table llx_commande last_main_doc varchar(255), -- relative filepath+filename of last main generated document module_source varchar(32), -- name of module when order generated by a dedicated module (POS, ...) - pos_source varchar(32), -- name of POS station when order is generated by a POS module + pos_source varchar(32), -- numero of POS terminal when order is generated by a POS module, IDsession@IDwebsite when order is generated for a website basket. facture tinyint default 0, fk_account integer, -- bank account fk_currency varchar(3), -- currency code diff --git a/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql b/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql index 10f3e4f8b9b..87581f418e8 100644 --- a/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql +++ b/htdocs/install/mysql/tables/llx_emailcollector_emailcollector.sql @@ -21,7 +21,8 @@ CREATE TABLE llx_emailcollector_emailcollector( ref varchar(128) NOT NULL, label varchar(255), description text, - host varchar(255), + host varchar(255), + hostcharset varchar(16) DEFAULT 'UTF-8', login varchar(128), password varchar(128), source_directory varchar(255) NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_facture.sql b/htdocs/install/mysql/tables/llx_facture.sql index 5a2d5464cfc..429095e1111 100644 --- a/htdocs/install/mysql/tables/llx_facture.sql +++ b/htdocs/install/mysql/tables/llx_facture.sql @@ -65,7 +65,7 @@ create table llx_facture fk_user_closing integer, -- user closing module_source varchar(32), -- name of module when invoice generated by a dedicated module (POS, ...) - pos_source varchar(32), -- name of POS station when invoice is generated by a POS module + pos_source varchar(32), -- numero of POS terminal when order is generated by a POS module, IDsession@IDwebsite when order is generated for a website basket. fk_fac_rec_source integer, -- facture rec source fk_facture_source integer, -- facture origin if credit notes or replacement invoice fk_projet integer DEFAULT NULL, -- project invoice is linked to diff --git a/htdocs/install/mysql/tables/llx_menu.sql b/htdocs/install/mysql/tables/llx_menu.sql index 59bb96297d7..cb279cb5c56 100644 --- a/htdocs/install/mysql/tables/llx_menu.sql +++ b/htdocs/install/mysql/tables/llx_menu.sql @@ -25,7 +25,7 @@ CREATE TABLE llx_menu rowid integer AUTO_INCREMENT NOT NULL PRIMARY KEY, menu_handler varchar(16) NOT NULL, -- Menu handler name entity integer DEFAULT 1 NOT NULL, -- Multi company id - module varchar(64), -- Module name if record is added by a module + module varchar(255), -- Module name if record is added by a module type varchar(4) NOT NULL, -- Menu top or left mainmenu varchar(100) NOT NULL, -- Name family/module for top menu (home, companies, ...) leftmenu varchar(100) NULL, -- Name family/module for left menu (setup, info, ...) diff --git a/htdocs/install/mysql/tables/llx_prelevement_bons.sql b/htdocs/install/mysql/tables/llx_prelevement_bons.sql index 2a8fd114440..e7e0b9a89f1 100644 --- a/htdocs/install/mysql/tables/llx_prelevement_bons.sql +++ b/htdocs/install/mysql/tables/llx_prelevement_bons.sql @@ -18,10 +18,10 @@ -- =================================================================== -- --- Bons de prelevement +-- Direct debit or credit orders -- --- statut 1 : transmis a la banque --- statut 2 : credite +-- statut 1 : sent to the bank +-- statut 2 : paid -- create table llx_prelevement_bons ( diff --git a/htdocs/install/mysql/tables/llx_prelevement_facture.sql b/htdocs/install/mysql/tables/llx_prelevement_facture.sql index 2524f854a9c..dbe2cb85f84 100644 --- a/htdocs/install/mysql/tables/llx_prelevement_facture.sql +++ b/htdocs/install/mysql/tables/llx_prelevement_facture.sql @@ -19,7 +19,8 @@ create table llx_prelevement_facture ( rowid integer AUTO_INCREMENT PRIMARY KEY, - fk_facture integer NOT NULL, + fk_facture integer NULL, + fk_facture_foun integer NULL, fk_prelevement_lignes integer NOT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_prelevement_facture_demande.sql b/htdocs/install/mysql/tables/llx_prelevement_facture_demande.sql index b1f625de872..4e1f37c6d3f 100644 --- a/htdocs/install/mysql/tables/llx_prelevement_facture_demande.sql +++ b/htdocs/install/mysql/tables/llx_prelevement_facture_demande.sql @@ -21,7 +21,8 @@ create table llx_prelevement_facture_demande ( rowid integer AUTO_INCREMENT PRIMARY KEY, entity integer DEFAULT 1 NOT NULL, - fk_facture integer NOT NULL, + fk_facture integer NULL, + fk_facture_fourn integer NULL, sourcetype varchar(32), amount double(24,8) NOT NULL, date_demande datetime NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_societe_account.sql b/htdocs/install/mysql/tables/llx_societe_account.sql index feffc7c9bd6..6a78a9a7839 100644 --- a/htdocs/install/mysql/tables/llx_societe_account.sql +++ b/htdocs/install/mysql/tables/llx_societe_account.sql @@ -20,15 +20,15 @@ CREATE TABLE llx_societe_account( -- BEGIN MODULEBUILDER FIELDS rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, entity integer DEFAULT 1, - key_account varchar(128), -- the id of third party in external web site (for site_account if site_account defined) login varchar(128) NOT NULL, pass_encoding varchar(24), pass_crypted varchar(128), pass_temp varchar(128), -- temporary password when asked for forget password fk_soc integer, + fk_website integer, -- id of local web site site varchar(128), -- name of external web site site_account varchar(128), -- a key to identify the account on external web site - fk_website integer, -- id of local web site + key_account varchar(128), -- the id of third party in external web site (for site_account if site_account defined) note_private text, date_last_login datetime, date_previous_login datetime, diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index d129fbeb1e4..034741c7c7e 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -1440,9 +1440,9 @@ if ($ok && GETPOST('repair_link_dispatch_lines_supplier_order_lines')) { exit; } while ($obj_dispatch = $db->fetch_object($resql_dispatch)) { - $sql_line = 'SELECT line.rowid, line.qty FROM '.MAIN_DB_PREFIX.'commande_fournisseurdet AS line' - . ' WHERE line.fk_commande = '.$obj_dispatch->fk_commande - . ' AND line.fk_product = '.$obj_dispatch->fk_product; + $sql_line = 'SELECT line.rowid, line.qty FROM '.MAIN_DB_PREFIX.'commande_fournisseurdet AS line'; + $sql_line .= ' WHERE line.fk_commande = '.$obj_dispatch->fk_commande; + $sql_line .= ' AND line.fk_product = '.$obj_dispatch->fk_product; $resql_line = $db->query($sql_line); // s’il y a plusieurs lignes avec le même produit sur cette commande fournisseur, @@ -1465,9 +1465,9 @@ if ($ok && GETPOST('repair_link_dispatch_lines_supplier_order_lines')) { } $qty_for_line = min($remaining_qty, $obj_line->qty); if ($first_iteration) { - $sql_attach = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur_dispatch' - . ' SET fk_commandefourndet = '.$obj_line->rowid.', qty = '.$qty_for_line - . ' WHERE rowid = '.$obj_dispatch->rowid; + $sql_attach = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur_dispatch'; + $sql_attach .= ' SET fk_commandefourndet = '.$obj_line->rowid.', qty = '.$qty_for_line; + $sql_attach .= ' WHERE rowid = '.$obj_dispatch->rowid; $first_iteration = false; } else { $sql_attach_values = array( @@ -1487,9 +1487,9 @@ if ($ok && GETPOST('repair_link_dispatch_lines_supplier_order_lines')) { ); $sql_attach_values = join(', ', $sql_attach_values); - $sql_attach = 'INSERT INTO '.MAIN_DB_PREFIX.'commande_fournisseur_dispatch' - . ' (fk_commande, fk_product, fk_commandefourndet, qty, fk_entrepot, fk_user, datec, comment, status, tms, batch, eatby, sellby)' - . ' VALUES ('.$sql_attach_values.')'; + $sql_attach = 'INSERT INTO '.MAIN_DB_PREFIX.'commande_fournisseur_dispatch'; + $sql_attach .= ' (fk_commande, fk_product, fk_commandefourndet, qty, fk_entrepot, fk_user, datec, comment, status, tms, batch, eatby, sellby)'; + $sql_attach .= ' VALUES ('.$sql_attach_values.')'; } if ($repair_link_dispatch_lines_supplier_order_lines == 'confirmed') diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php index 9d81bca42ce..a5e6b9d3377 100644 --- a/htdocs/install/step1.php +++ b/htdocs/install/step1.php @@ -566,21 +566,21 @@ if (!$error && $db->connected && $action == "set") $error++; } - if (! $error) + if (!$error) { if ($db->connected) { $resultbis = 1; // Create user - $result=$db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); + $result = $db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); // Create user bis if ($databasefortest == 'mysql') { - if (! in_array($dolibarr_main_db_host, array('127.0.0.1', '::1', 'localhost', 'localhost.local'))) + if (!in_array($dolibarr_main_db_host, array('127.0.0.1', '::1', 'localhost', 'localhost.local'))) { - $resultbis=$db->DDLCreateUser('%', $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); + $resultbis = $db->DDLCreateUser('%', $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); } } diff --git a/htdocs/install/step5.php b/htdocs/install/step5.php index 1609035e415..b74594ce8da 100644 --- a/htdocs/install/step5.php +++ b/htdocs/install/step5.php @@ -384,10 +384,10 @@ if ($action == "set" && $success) print "
    "; - print $langs->trans("YouNeedToPersonalizeSetup")."

    "; + print $langs->trans("YouNeedToPersonalizeSetup")."


    "; print ''; } else @@ -399,7 +399,7 @@ if ($action == "set" && $success) print "
    "; print ''; } } @@ -435,7 +435,7 @@ elseif (empty($action) || preg_match('/upgrade/i', $action)) print "

    "; print '
    '; } else @@ -447,7 +447,7 @@ elseif (empty($action) || preg_match('/upgrade/i', $action)) print "
    "; print ''; } } diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 70f4bb32d19..765a8796a76 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -1,4 +1,6 @@ * Copyright (C) 2005-2018 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin @@ -498,7 +500,7 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ migrate_reload_modules($db, $langs, $conf, $listofmodule); // Reload menus (this must be always and only into last targeted version) - migrate_reload_menu($db, $langs, $conf, $versionto); + migrate_reload_menu($db, $langs, $conf); } // Can force activation of some module during migration with parameter 'enablemodules=MAIN_MODULE_XXX,MAIN_MODULE_YYY,...' @@ -1185,8 +1187,13 @@ function migrate_contracts_date1($db, $langs, $conf) print ''; } -/* - * Mise a jour date contrat avec date min effective mise en service si inferieur +/** + * Update contracts with date min real if service date is lower + * + * @param DoliDB $db Database handler + * @param Translate $langs Language + * @param Conf $conf Conf + * @return void */ function migrate_contracts_date2($db, $langs, $conf) { @@ -3624,10 +3631,9 @@ function migrate_mode_reglement($db, $langs, $conf) * @param DoliDB $db Database handler * @param Translate $langs Object langs * @param Conf $conf Object conf - * @param string $versionto Version target * @return void */ -function migrate_clean_association($db, $langs, $conf, $versionto) +function migrate_clean_association($db, $langs, $conf) { $result = $db->DDLDescTable(MAIN_DB_PREFIX."categorie_association"); if ($result) // result defined for version 3.2 or - @@ -4834,10 +4840,9 @@ function migrate_reload_modules($db, $langs, $conf, $listofmodule = array(), $fo * @param DoliDB $db Database handler * @param Translate $langs Object langs * @param Conf $conf Object conf - * @param string $versionto Version target * @return void */ -function migrate_reload_menu($db, $langs, $conf, $versionto) +function migrate_reload_menu($db, $langs, $conf) { global $conf; dolibarr_install_syslog("upgrade2::migrate_reload_menu"); diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index 1627eeacfd9..c316fb0b4a3 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=ملاحظة : لم يتم وضح حد في إعدادات الـ PHP الخاص بك MaxSizeForUploadedFiles=الحجم الأقصى لتحميل الملفات (0 لمنع أي تحميل) UseCaptchaCode=إستخدم الرسوم كرمز (كابتشا) في صفحة الدخول -AntiVirusCommand= المسار الكامل لبرنامج مكافحة الفيروسات -AntiVirusCommandExample= مثل ل ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusCommand=المسار الكامل لبرنامج مكافحة الفيروسات +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= المزيد من الصلاحيات بإستخدام command line -AntiVirusParamExample= مثال على ClamWin:--database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=نموذج وحدة المحاسبة UserSetup=إعداد مستخدم الإدارة MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=الميزة معلطة في العرض التجريبي FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=فقط العناصر من النماذج المفعلة سوف تظهر. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=انظر إعداد وحدة٪ الصورة Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=العنوان +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=على تفعيل @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=الوحدة الخارجية - المثبتة في الدليل %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=الحرف الأول الباركود الشامل أو إعادة للمنتجات أو الخدمات CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=المناطق DictionaryCountry=الدول DictionaryCurrency=العملات -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=أسعار الضريبة على القيمة المضافة أو ضريبة المبيعات الاسعار @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=معدل LocalTax1IsNotUsed=لا تستخدم الضريبة الثانية LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=افتراضيا IRPF المقترحة هي 0. نهاية الحكم. LocalTax2IsUsedExampleES=في اسبانيا ، لحسابهم الخاص والمهنيين المستقلين الذين يقدمون الخدمات والشركات الذين اختاروا النظام الضريبي من وحدات. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=تقارير عن الضرائب المحلية CalcLocaltax1=مبيعات - مشتريات CalcLocaltax1Desc=وتحسب تقارير الضرائب المحلية مع الفرق بين localtaxes المبيعات والمشتريات localtaxes @@ -1018,6 +1025,7 @@ CalcLocaltax2=مشتريات CalcLocaltax2Desc=تقارير الضرائب المحلية هي مجموعه localtaxes المشتريات CalcLocaltax3=مبيعات CalcLocaltax3Desc=تقارير الضرائب المحلية هي مجموعه localtaxes المبيعات +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=العلامة التي يستخدمها التقصير إذا لم يمكن العثور على ترجمة للقانون LabelOnDocuments=علامة على وثائق LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=مراجعة الحسابات الأحداث الأمنية Audit=المراجعة @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=نظام المعلومات المتنوعة المعلومات التقنية تحصل في قراءة فقط وواضحة للمشرفين فقط. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=شاهد الإعداد وحدة UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM وحدة الإعداد ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=فاتورة نماذج الوثائق BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=قوة تاريخ الفاتورة تاريخ المصادقة على -SuggestedPaymentModesIfNotDefinedInInvoice=واقترح على طريقة دفع الفواتير تلقائيا اذا لم تعرف للفاتورة +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=نص حر على الفواتير @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=وحدة إعداد مقترحات تجارية ProposalsNumberingModules=اقتراح نماذج تجارية الترقيم ProposalsPDFModules=اقتراح نماذج الوثائق التجارية -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=نص تجارية حرة على مقترحات WatermarkOnDraftProposal=العلامة المائية على مشاريع المقترحات التجارية (أي إذا فارغ) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=اسأل عن وجهة الحساب المصرفي للاقتراح @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=طلب مستودع المصدر لأمر ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=أوامر الترقيم نمائط OrdersModelModule=وثائق من أجل النماذج @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ar_SA/bills.lang b/htdocs/langs/ar_SA/bills.lang index 5060a169ae7..9625e9a54b6 100644 --- a/htdocs/langs/ar_SA/bills.lang +++ b/htdocs/langs/ar_SA/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=فواتير الموردين Payment=دفعة -PaymentBack=الدفع مرة أخرى -CustomerInvoicePaymentBack=دفع العودة +PaymentBack=رد +CustomerInvoicePaymentBack=رد Payments=المدفوعات PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=تسديدها DeletePayment=حذف الدفعة ConfirmDeletePayment=هل انت متأكد انك ترغب في حذف هذه الدفعة؟ -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=المدفوعات المستلمة @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=دفع ToMakePaymentBack=تسديد ListOfYourUnpaidInvoices=قائمة الفواتير غير المسددة NoteListOfYourUnpaidInvoices=ملاحظة: تحتوي هذه القائمة على الفواتير الوحيدة لأطراف ثالثة ترتبط لك كممثل بيع. -RevenueStamp=طوابع الواردات +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=عودة عدد مع الشكل syymm NNNN عن الفواتير القياسية و٪ syymm-NNNN لتلاحظ الائتمان حيث هو YY العام٪، مم هو الشهر وnnnn هو تسلسل مع أي انقطاع وعدم العودة إلى 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=تم حذف الفاتورة +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ar_SA/blockedlog.lang b/htdocs/langs/ar_SA/blockedlog.lang index 89228fd0f71..5f6dd79f6f5 100644 --- a/htdocs/langs/ar_SA/blockedlog.lang +++ b/htdocs/langs/ar_SA/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/ar_SA/cashdesk.lang b/htdocs/langs/ar_SA/cashdesk.lang index dd6f62c3c21..d8014d393ab 100644 --- a/htdocs/langs/ar_SA/cashdesk.lang +++ b/htdocs/langs/ar_SA/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=إضافة هذا العنصر RestartSelling=التراجع عن بيع SellFinished=اكتمل البيع PrintTicket=طباعة التذكرة +SendTicket=Send ticket NoProductFound=لم يتم العثور على عناصر ProductFound=تم العثور على المنتج NoArticle=لا يوجد عناصر @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=ملاحظة : من الفواتير Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=المتصفح BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ar_SA/companies.lang b/htdocs/langs/ar_SA/companies.lang index 53e87a2729f..ad09ad636f5 100644 --- a/htdocs/langs/ar_SA/companies.lang +++ b/htdocs/langs/ar_SA/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=شركة "٪ ل" حذفها من قاعدة البيانات. ListOfContacts=قائمة الاتصالات ListOfContactsAddresses=قائمة الاتصالات ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=وتظهر الاتصال ContactsAllShort=جميع (بدون فلتر) ContactType=نوع الاتصال @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/ar_SA/compta.lang b/htdocs/langs/ar_SA/compta.lang index 49d7e5054c9..7eb313a3d83 100644 --- a/htdocs/langs/ar_SA/compta.lang +++ b/htdocs/langs/ar_SA/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- المبالغ المبينة لمع جميع الضرائب المدرجة -RulesResultDue=- وتتضمن الفواتير غير المسددة، والنفقات، ضريبة القيمة المضافة، والتبرعات سواء كانت بأجر أو لا. هو أيضا يتضمن الرواتب المدفوعة.
    - وهو يستند إلى تاريخ المصادقة على الفواتير وضريبة القيمة المضافة وعلى الموعد المحدد للنفقات. لرواتب محددة مع وحدة الراتب، يتم استخدام قيمة تاريخ الدفع. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- ويشمل المدفوعات الحقيقية المحرز في الفواتير والمصاريف والضريبة على القيمة المضافة والرواتب.
    - لأنه يقوم على مواعيد دفع الفواتير والمصاريف والضريبة على القيمة المضافة والرواتب. تاريخ التبرع للتبرع. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=التسمية قصيرة +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index 6810547c909..c1cfd43814f 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=الملف لم تتلق تماما بواسطة الخادم. ErrorNoTmpDir=%s directy مؤقتة لا وجود. ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المساعد بى اباتشي /. ErrorFileSizeTooLarge=حجم الملف كبير جدا. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم ErrorNoValueForSelectType=يرجى ملء قيمة لقائمة مختارة @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم. diff --git a/htdocs/langs/ar_SA/install.lang b/htdocs/langs/ar_SA/install.lang index 57d86ff2a83..60fe91b918f 100644 --- a/htdocs/langs/ar_SA/install.lang +++ b/htdocs/langs/ar_SA/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=تم إعداد الجلسة الزمنية للذاكرة في PHP الى %s . من المفترض ان تكون كافية. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=دليل ٪ ق لا يوجد. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ar_SA/link.lang b/htdocs/langs/ar_SA/link.lang index dd19eb683a0..18b8a80fecb 100644 --- a/htdocs/langs/ar_SA/link.lang +++ b/htdocs/langs/ar_SA/link.lang @@ -7,4 +7,5 @@ ErrorFileNotLinked=لا يمكن ربط الملف LinkRemoved= الرابط%sتم إزالتة ErrorFailedToDeleteLink= فشل في إزالة الرابط ' %s ' ErrorFailedToUpdateLink= فشل تحديث الرابط ' %s ' -URLToLink=الرابط لربطه +URLToLink=عنوان URL للربط +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/ar_SA/mails.lang b/htdocs/langs/ar_SA/mails.lang index 66d53f91fb3..0f3ece4cca0 100644 --- a/htdocs/langs/ar_SA/mails.lang +++ b/htdocs/langs/ar_SA/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=معلومات ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index acdedfeb1e0..b0df25d3f55 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=اختبار الاتصال ToClone=استنساخ +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=لا توجد بيانات لاستنساخ محددة. Of=من @@ -829,6 +830,8 @@ Gender=جنس Genderman=رجل Genderwoman=امرأة ViewList=عرض القائمة +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=إلزامي Hello=أهلا GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/ar_SA/other.lang b/htdocs/langs/ar_SA/other.lang index b266e30cab7..50522e619b0 100644 --- a/htdocs/langs/ar_SA/other.lang +++ b/htdocs/langs/ar_SA/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=العنوان WEBSITE_DESCRIPTION=الوصف WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index e35fb90932a..84088913fff 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=الحرف الأول الباركود الشامل MassBarcodeInitDesc=هذه الصفحة يمكن استخدامها لتهيئة الباركود على الكائنات التي لا يكون الباركود تعريف. تحقق قبل أن الإعداد وحدة الباركود كاملة. ProductAccountancyBuyCode=كود المحاسبة (شراء) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=كود المحاسبة (بيع) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=بلد المنشأ -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=التسمية قصيرة Unit=وحدة p=ش. diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 1705bce206c..e92384e6dc2 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=وقت ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=عبء العمل المخطط لها PlannedWorkloadShort=عبء العمل ProjectReferers=Related items ProjectMustBeValidatedFirst=يجب التحقق من صحة المشروع أولا -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=إدخال يوميا InputPerWeek=مساهمة في الأسبوع InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=فاتورة جديدة OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ar_SA/receiptprinter.lang b/htdocs/langs/ar_SA/receiptprinter.lang index 5fec542953f..ddc0c867bbb 100644 --- a/htdocs/langs/ar_SA/receiptprinter.lang +++ b/htdocs/langs/ar_SA/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=طابعة وهمية CONNECTOR_NETWORK_PRINT=طابعة الشبكة CONNECTOR_FILE_PRINT=الطابعة المحلية CONNECTOR_WINDOWS_PRINT=طابعة ويندوز المحلية +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=طابعة وهمية لاختبار، لا يفعل شيئا CONNECTOR_NETWORK_PRINT_HELP=10.xxx:9100 CONNECTOR_FILE_PRINT_HELP=/ ديف / USB / lp0، / ديف / USB / LP1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1، COM1، فلان: // FooUser: السر @ الكمبيوتر / مجموعة العمل / استلام الطابعة +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=ملف التعريف الافتراضي PROFILE_SIMPLE=ملف التعريف بسيط PROFILE_EPOSTEP=ملحمة تيب الملف الشخصي @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=فاتورة المرجع +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=عاصمة +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ar_SA/stripe.lang b/htdocs/langs/ar_SA/stripe.lang index 421ef62e1f8..0fac9d2d553 100644 --- a/htdocs/langs/ar_SA/stripe.lang +++ b/htdocs/langs/ar_SA/stripe.lang @@ -32,6 +32,7 @@ VendorName=اسم البائع CSSUrlForPaymentForm=عزيزي ورقة النمط المغلق للنموذج الدفع NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ar_SA/users.lang b/htdocs/langs/ar_SA/users.lang index 6b8ad486f97..2d79e755885 100644 --- a/htdocs/langs/ar_SA/users.lang +++ b/htdocs/langs/ar_SA/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=النطاق المستخدم ق ٪ Reactivate=تنشيط CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=منح إذن لأن الموروث من واحد من المستخدم. Inherited=موروث UserWillBeInternalUser=وسوف يكون المستخدم إنشاء مستخدم داخلية (لأنه لا يرتبط طرف ثالث خاص) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/ar_SA/website.lang b/htdocs/langs/ar_SA/website.lang index 07bfd981cf9..4def736100c 100644 --- a/htdocs/langs/ar_SA/website.lang +++ b/htdocs/langs/ar_SA/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index dfa35253ad2..aff61d22ae5 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Забележка: Вашата PHP конфи NoMaxSizeByPHPLimit=Забележка: Не е зададено ограничение във вашата PHP конфигурация MaxSizeForUploadedFiles=Максимален размер за качени файлове (0 за забрана на качването) UseCaptchaCode=Използване на графичен код (CAPTCHA) на страницата за вход -AntiVirusCommand= Пълен път към антивирусна команда -AntiVirusCommandExample= Пример за ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Пример за ClamAv: /usr/bin/clamscan +AntiVirusCommand=Пълен път към антивирусна команда +AntiVirusCommandExample=Пример за ClamAv Daemon (изисква clamav-daemon): /usr/bin/clamdscan
    Пример за ClamWin (много забавящ): C:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Още параметри в командния ред -AntiVirusParamExample= Пример за ClamWin: --database="C:\\Programm Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Пример за ClamAv Daemon: --fdpass
    Пример за ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Настройка на модул Счетоводство UserSetup=Настройка за управление на потребители MultiCurrencySetup=Настройки на различни валути @@ -136,7 +136,7 @@ Boxes=Джаджи MaxNbOfLinesForBoxes=Максимален брой редове за джаджи AllWidgetsWereEnabled=Всички налични джаджи са активирани PositionByDefault=Позиция по подразбиране -Position=Длъжност +Position=Позиция MenusDesc=Меню мениджърите определят съдържанието на двете ленти с менюта (хоризонтална и вертикална). MenusEditorDesc=Редакторът на менюто ви позволява да дефинирате потребителски менюта. Използвайте го внимателно, за да избегнете нестабилност и трайно недостъпни менюта.
    Някои модули добавят менюта (най-вече в менюто Всички). Ако премахнете някои от тези менюта по погрешка, можете да ги възстановите като деактивирате и да активирате отново модула. MenuForUsers=Меню за потребители @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Функцията е деактивирана в демо FeatureAvailableOnlyOnStable=Функцията се предлага само в официални стабилни версии BoxesDesc=Джаджите са компоненти, показващи информация, които може да добавите, за да персонализирате някои страници. Можете да избирате между показване на джаджата или не, като изберете целевата страница и кликнете върху 'Активиране', или като кликнете върху кошчето, за да я деактивирате. OnlyActiveElementsAreShown=Показани са само елементи от активни модули. -ModulesDesc=Модулите / приложенията определят кои функции са налични в системата. Някои модули изискват да се предоставят съответните разрешения на потребителите след активиране на модула. Кликнете върху бутона за включване / изключване (в края на реда с името на модула), за да активирате / деактивирате модул / приложение. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Може да намерите още модули за изтегляне от външни уеб сайтове в интернет... ModulesDeployDesc=Ако разрешенията във вашата файлова система го позволяват, можете да използвате този инструмент за инсталиране на външен модул. След това модулът ще се вижда в раздела %s. ModulesMarketPlaces=Намиране на външно приложение / модул @@ -212,15 +212,17 @@ CompatibleUpTo=Съвместим с версия %s NotCompatible=Този модул не изглежда съвместим с Dolibarr %s (Мин. %s - Макс. %s). CompatibleAfterUpdate=Този модул изисква актуализация на вашия Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Вижте в онлайн магазина +SeeSetupOfModule=Вижте настройка на модул %s Updated=Актуализиран Nouveauté=Новост AchatTelechargement=Купуване / Изтегляне GoModuleSetupArea=За да разположите / инсталирате нов модул, отидете в секцията за настройка на модул: %s. DoliStoreDesc=DoliStore, официалният пазар за Dolibarr ERP / CRM външни модули DoliPartnersDesc=Списък на компаниите, които предоставят разработване по поръчка модули или функции.
    Забележка: тъй като Dolibarr е приложение с отворен код, всеки , който има опит в програмирането на PHP, може да разработи модул. -WebSiteDesc=Външни уебсайтове за повече модули за добавки (които не са основни)... +WebSiteDesc=Външни уебсайтове с повече модули (които не са част от ядрото) DevelopYourModuleDesc=Някои решения за разработване на ваш собствен модул... URL=URL адрес +RelativeURL=Относителен URL адрес BoxesAvailable=Налични джаджи BoxesActivated=Активирани джаджи ActivateOn=Активирай на @@ -252,8 +254,8 @@ ExternalResources=Външни ресурси SocialNetworks=Социални мрежи ForDocumentationSeeWiki=За потребителска документация и такава за разработчици (документи, често задавани въпроси,...),
    погледнете в Dolibarr Wiki:
    %s ForAnswersSeeForum=За всякакви други въпроси / помощ може да използвате Dolibarr форума:
    %s -HelpCenterDesc1=Ето някои ресурси за получаване на помощ и подкрепа с Dolibarr. -HelpCenterDesc2=Някои от тези ресурси са налице само на английски . +HelpCenterDesc1=Ресурси за получаване на помощ и поддръжка относно Dolibarr +HelpCenterDesc2=Някои от тези ресурси са достъпни само на английски език CurrentMenuHandler=Текущ манипулатор на менюто MeasuringUnit=Мерна единица LeftMargin=Лява граница @@ -425,7 +427,7 @@ ExtrafieldCheckBox=Полета за отметка ExtrafieldCheckBoxFromList=Отметки от таблица ExtrafieldLink=Връзка към обект ComputedFormula=Изчислено поле -ComputedFormulaDesc=Тук можете да въведете формула, използвайки други свойства на обекта или PHP код, за да получите динамична изчислена стойност. Можете да използвате всички съвместими с PHP формули, включително "?" условен оператор и следния глобален обект: $db, $conf, $langs, $mysoc, $user, $object.
    ВНИМАНИЕ: Може да са налице само някои свойства на $object. Ако ви трябват свойства, които не са заредени, просто вземете сами обекта във вашата формула като във втория пример.
    Използването на изчислено поле означава, че не можете да въведете никаква стойност от интерфейса. Също така, ако има синтактична грешка, формулата може да не върне нищо.

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

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

    Друг пример за формула за натоварване на обекта и неговия главен обект:
    (($reloadedobj = new Task ($db)) && ($reloadedobj->fetch ($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch ($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' +ComputedFormulaDesc=Тук можете да въведете формула, използвайки други свойства на обекта или PHP код, за да получите изчислена динамична стойност. Може да използвате всички съвместими с PHP формули, включително "?" условен оператор и следния глобален обект: $db, $conf, $langs, $mysoc, $user, $object.
    Внимание: Може да са налице само някои свойства на $object. Ако ви трябват свойства, които не са заредени, просто присвоете обекта във вашата формула като във втория пример.
    Използването на изчислено поле означава, че не може да въведете никаква стойност от интерфейса. Също така, ако има синтактична грешка, формулата може да не върне нищо.

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

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

    Друг пример с формула за принудително зареждане на обект и негов главен обект:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' Computedpersistent=Запазване на изчисленото поле ComputedpersistentDesc=Изчислените допълнителни полета ще бъдат съхранени в базата данни, но стойността ще бъде преизчислена само когато обектът на това поле бъде променен. Ако изчисленото поле зависи от други обекти или глобални данни, тази стойност може да е грешна!! ExtrafieldParamHelpPassword=Оставяйки това поле празно означава, че тази стойност ще бъде съхранена без криптиране (полето трябва да бъде скрито само със звезда на екрана).
    Посочете 'auto', за да използвате правилото за криптиране по подразбиране и за да запазите паролата в базата данни (тогава четимата стойност ще бъде само хеш код и няма да има начин да извлечете реалната стойност). @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Оставете празно, за да използва DefaultLink=Връзка по подразбиране SetAsDefault=Посочете по подразбиране ValueOverwrittenByUserSetup=Внимание, тази стойност може да бъде презаписана от специфична за потребителя настройка (всеки потребител може да зададе свой собствен URL адрес) -ExternalModule=Външен модул - инсталиран в директория %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Масова баркод инициализация за контрагенти BarcodeInitForProductsOrServices=Масово въвеждане на баркод или зануляване за продукти или услуги CurrentlyNWithoutBarCode=В момента имате %s записа на %s %s без дефиниран баркод. @@ -868,8 +871,8 @@ Permission1186=Поръчка на поръчки за покупка Permission1187=Потвърждаване на получаването на поръчка за покупка Permission1188=Изтриване на поръчки за покупка Permission1190=Одобряване (второ одобрение) на поръчки за покупка -Permission1201=Получава на резултат от експортиране -Permission1202=Създаване / променяне на експорт на данни +Permission1201=Получаване на резултат с експортирани данни +Permission1202=Създаване / променяне на експортирани данни Permission1231=Преглед на фактури за доставка Permission1232=Създаване / променяне на фактури за доставка Permission1233=Валидиране на фактури за доставка @@ -947,7 +950,7 @@ DictionaryCanton=Области / Региони DictionaryRegion=Региони DictionaryCountry=Държави DictionaryCurrency=Валути -DictionaryCivility=Обръщения +DictionaryCivility=Honorific titles DictionaryActions=Видове събития в календара DictionarySocialContributions=Видове социални или фискални данъци DictionaryVAT=Ставки на ДДС или Данък върху продажби @@ -988,6 +991,7 @@ VATIsNotUsedDesc=По подразбиране предложената став VATIsUsedExampleFR=Във Франция това означава дружества или организации, които имат реална фискална система (опростена реална или нормална реална). Система, в която е деклариран ДДС. VATIsNotUsedExampleFR=Във Франция това означава асоциации, които не декларират данък върху продажбите или компании, организации, или свободни професии, които са избрали фискалната система за микропредприятия (данък върху продажбите във франчайз) и са платили франчайз данък върху продажбите без декларация за данък върху продажбите. Този избор ще покаже информация за "Неприложим данък върху продажбите - art-293B от CGI" във фактурите. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Ставка LocalTax1IsNotUsed=Да не се използва втори данък LocalTax1IsUsedDesc=Използване на втори тип данък (различен от първия) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Ставката на IRPF по подразбиране LocalTax2IsNotUsedDescES=По подразбиране предложената IRPF е 0. Край на правилото. LocalTax2IsUsedExampleES=В Испания, професионалистите на свободна практика и независимите професионалисти, които предоставят услуги и фирми, които са избрали данъчната система от модули. LocalTax2IsNotUsedExampleES=В Испания те са предприятия, които не подлежат на данъчна система от модули. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Справки за местни данъци CalcLocaltax1=Продажби - Покупки CalcLocaltax1Desc=Справките за местни данъци се изчисляват с разликата между размера местни данъци от продажби и размера местни данъци от покупки. @@ -1018,6 +1025,7 @@ CalcLocaltax2=Покупки CalcLocaltax2Desc=Справки за местни данъци се определят, чрез размера на местни данъци от общи покупки CalcLocaltax3=Продажби CalcLocaltax3Desc=Справки за местни данъци се определят, чрез размера на местни данъци от общи продажби +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Име, използвано по подразбиране, ако не може да бъде намерен превод за кода LabelOnDocuments=Текст в документи LabelOrTranslationKey=Име или ключ за превод @@ -1091,11 +1099,11 @@ Alerts=Сигнали DelaysOfToleranceBeforeWarning=Закъснение преди показване на предупредителен сигнал за: DelaysOfToleranceDesc=Задаване на закъснение, преди на екрана да се покаже иконата за предупреждение %s за закъснелия елемент. Delays_MAIN_DELAY_ACTIONS_TODO=Планирани събития (събития в календара), които не са завършени -Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Проект, който не е затворен навреме +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Проект, който не е приключен навреме Delays_MAIN_DELAY_TASKS_TODO=Планирана задача (задача от проект), която не е завършена Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Поръчка, която не е обработена Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Поръчка за покупка, която не е обработена -Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Предложение, което не е затворено +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Предложение, което не е приключено Delays_MAIN_DELAY_PROPALS_TO_BILL=Предложение, което не е фактурирано Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Услуга, която не е активирана Delays_MAIN_DELAY_RUNNING_SERVICES=Услуга, която е изтекла @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Разходен отчет, който не е Delays_MAIN_DELAY_HOLIDAYS=Молби за отпуск за одобрение SetupDescription1=Преди да започнете да използвате Dolibarr трябва да се дефинират някои първоначални параметри и да се активират / конфигурират някои модули. SetupDescription2=Следните две секции са задължителни (първите две подменюта в менюто Настройка): -SetupDescription3=%s ->%s
    Основни параметри, използвани за персонализиране на поведението по подразбиране на вашето приложение (например за функции, свързани със държавата). -SetupDescription4=%s ->%s
    Този софтуер е пакет от много модули / приложения, всички повече или по-малко независими. Модулите, съответстващи на вашите нужди, трябва да бъдат активирани и конфигурирани. В менютата се добавят нови елементи / опции с активирането на модул. +SetupDescription3=%s -> %s

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

    Този софтуер е пакет от много модули / приложения. Модулите, свързани с вашите нужди, трябва да бъдат активирани и конфигурирани. С активирането на тези модули ще се появят нови менюта. SetupDescription5=Менюто "Други настройки" управлява допълнителни параметри. LogEvents=Събития за проверка на сигурността Audit=Проверка @@ -1128,7 +1136,7 @@ LogEventDesc=Активиране на регистрирането за кон AreaForAdminOnly=Параметрите за настройка могат да се задават само от Администратори. SystemInfoDesc=Системната информация е различна техническа информация, която получавате в режим само за четене и е видима само за администратори. SystemAreaForAdminOnly=Тази секция е достъпна само за администратори. Потребителските права в Dolibarr не могат да променят това ограничение. -CompanyFundationDesc=Редактирайте информацията за фирмата / обекта. Кликнете върху бутона '%s' в долната част на страницата. +CompanyFundationDesc=Редактирайте информацията за вашата фирма / организация. Кликнете върху бутона '%s' в долната част на страницата, когато сте готови. AccountantDesc=Ако имате външен счетоводител, тук може да редактирате неговата информация. AccountantFileNumber=Счетоводен код DisplayDesc=Тук могат да се променят параметрите, които влияят на външния вид и поведението на Dolibarr. @@ -1197,7 +1205,7 @@ MAIN_PROXY_PASS=Прокси сървър: Парола DefineHereComplementaryAttributes=Определете тук всички допълнителни / персонализирани атрибути, които искате да бъдат включени за: %s ExtraFields=Допълнителни атрибути ExtraFieldsLines=Допълнителни атрибути (редове) -ExtraFieldsLinesRec=Допълнителни атрибути (шаблонни редове на фактури) +ExtraFieldsLinesRec=Допълнителни атрибути (редове в шаблонни фактури) ExtraFieldsSupplierOrdersLines=Допълнителни атрибути (редове в поръчки за покупка) ExtraFieldsSupplierInvoicesLines=Допълнителни атрибути (редове във фактури за покупка) ExtraFieldsThirdParties=Допълнителни атрибути (контрагенти) @@ -1205,7 +1213,7 @@ ExtraFieldsContacts=Допълнителни атрибути (контакти ExtraFieldsMember=Допълнителни атрибути (член) ExtraFieldsMemberType=Допълнителни атрибути (тип член) ExtraFieldsCustomerInvoices=Допълнителни атрибути (фактури за продажба) -ExtraFieldsCustomerInvoicesRec=Допълнителни атрибути (шаблони на фактури) +ExtraFieldsCustomerInvoicesRec=Допълнителни атрибути (шаблонни фактури) ExtraFieldsSupplierOrders=Допълнителни атрибути (поръчки за покупка) ExtraFieldsSupplierInvoices=Допълнителни атрибути (фактури за покупка) ExtraFieldsProject=Допълнителни атрибути (проекти) @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Правила за генериране и валид DisableForgetPasswordLinkOnLogonPage=Да не се показва връзката "Забравена парола" на страницата за вход UsersSetup=Настройка на модула за потребители UserMailRequired=Необходим е имейл при създаване на нов потребител +UsersDocModules=Шаблони на документи за потребителски профил +GroupsDocModules=Шаблони на документи за групов профил ##### HRM setup ##### HRMSetup=Настройка на модула ЧР ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Шаблони на документи за фактури BillsPDFModulesAccordindToInvoiceType=Модели на фактури в зависимост от вида на фактурата PaymentsPDFModules=Шаблони на платежни документи ForceInvoiceDate=Принуждаване на датата на фактурата да се синхронизира с датата на валидиране -SuggestedPaymentModesIfNotDefinedInInvoice=Предлагане на плащания по подразбиране, ако не са определени такива във фактурата +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Да се предлага плащане по сметка SuggestPaymentByChequeToAddress=Да се предлага плащане с чек FreeLegalTextOnInvoices=Свободен текст във фактури @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Настройка на плащания към доста PropalSetup=Настройка на модула за търговски предложения ProposalsNumberingModules=Модели за номериране на търговски предложения ProposalsPDFModules=Шаблони на документи за търговски предложения -SuggestedPaymentModesIfNotDefinedInProposal=Препоръчителен начин на плащане по подразбиране за търговско предложение, ако не е посочен +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Свободен текст в търговски предложения WatermarkOnDraftProposal=Воден знак върху чернови търговски предложения (няма, ако е празно) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Питане за данни на банкова сметка в търговски предложения @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Питане за изходен склад ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Да се пита за детайли на банковата сметка в поръчките за покупка ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Настройка на модул Поръчки за продажба OrdersNumberingModules=Модели за номериране на поръчки OrdersModelModule=Шаблони на документи за поръчки @@ -1618,7 +1629,7 @@ HideUnauthorizedMenu= Скриване на неоторизирани (сиви DetailId=Идентификатор на меню DetailMenuHandler=Манипулатор на меню, в който да се покаже новото меню DetailMenuModule=Име на модула, ако входните данни на менюто идват от модул -DetailType=Тип меню (горе или вляво) +DetailType=Тип меню (горно или ляво) DetailTitre=Име на меню или име на код за превод DetailUrl=URL адрес, където менюто ви изпратя (Absolute на URL линк или външна връзка с http://) DetailEnabled=Условие за показване или не на вписване @@ -1720,7 +1731,7 @@ MultiCompanySetup=Настройка на модула за няколко фи ##### Suppliers ##### SuppliersSetup=Настройка на модул Доставчици SuppliersCommandModel=Пълен шаблон на поръчка за покупка -SuppliersCommandModelMuscadet=Пълен шаблон на поръчка за покупка (стара реализация на шаблона Cornas) +SuppliersCommandModelMuscadet=Пълен шаблон на поръчка за покупка SuppliersInvoiceModel=Пълен шаблон на фактура за доставка SuppliersInvoiceNumberingModel=Модели за номериране на фактури за доставка IfSetToYesDontForgetPermission=Ако е настроена различна от нула стойност, не забравяйте да предоставите права на групите или потребителите за второ одобрение @@ -1834,8 +1845,8 @@ ByDefaultInList=Показване по подразбиране в списъч YouUseLastStableVersion=Използвате последната стабилна версия TitleExampleForMajorRelease=Пример за съобщение, което може да използвате, за да обявите това главно издание (не се колебайте да го използвате на уебсайтовете си) TitleExampleForMaintenanceRelease=Пример за съобщение, което може да използвате, за да обявите това издание за поддръжка (не се колебайте да го използвате на уебсайтовете си) -ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s е наличен. Версия %s е главна версия с много нови функции както за потребители, така и за разработчици. Може да го изтеглите от раздела за изтегляне на портала https://www.dolibarr.org (поддиректория Стабилни версии). Може да прочетете ChangeLog за пълен списък с промените. -ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s е наличен. Версията %s е поддържаща версия, така че съдържа само корекции на грешки. Препоръчваме на всички потребители да актуализират до тази версия. Изданието за поддръжка не въвежда нови функции или промени в базата данни. Може да го изтеглите от раздела за изтегляне на портала https://www.dolibarr.org (поддиректория Стабилни версии). Може да прочетете ChangeLog за пълен списък с промените. +ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s е наличен. Версия %s е главна версия с много нови функции както за потребители, така и за разработчици. Може да се изтегли от раздела за изтегляне в портала https://www.dolibarr.org (подраздел Стабилни версии). Прочетете ChangeLog за пълен списък с промените. +ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s е наличен. Версия %s е поддържаща версия, така че съдържа само корекции на грешки. Препоръчваме на всички потребители да актуализират до тази версия. Изданието за поддръжка не въвежда нови функции или промени в базата данни. Може да се изтегли от раздела за изтегляне в портала https://www.dolibarr.org (подраздел Стабилни версии). Прочетете ChangeLog за пълен списък с промените. MultiPriceRuleDesc=Когато опцията "Няколко нива на цени за продукт / услуга" е активирана може да определите различни цени (по едно за ниво цена) за всеки продукт. За да спестите време тук може да въведете правило за автоматично изчисляване на цена за всяко ниво на базата на цената от първото ниво, така че ще трябва да въведете само цена за първото ниво за всеки продукт. Тази страница е предназначена да ви спести време, но е полезна само ако цените за всяко ниво са относителни към първо ниво. В повечето случаи може да игнорирате тази страница. ModelModulesProduct=Шаблони за продуктови документи ToGenerateCodeDefineAutomaticRuleFirst=За да можете автоматично да генерирате кодове, първо трябва да определите мениджър, за да дефинирате автоматично номера на баркода. @@ -1884,9 +1895,9 @@ RemoveSpecialChars=Премахване на специални символи COMPANY_AQUARIUM_CLEAN_REGEX=Regex филтър за изчистване на стойността (COMPANY_AQUARIUM_CLEAN_REGEX) COMPANY_DIGITARIA_CLEAN_REGEX=Regex филтър за чиста стойност (COMPANY_DIGITARIA_CLEAN_REGEX) COMPANY_DIGITARIA_UNIQUE_CODE=Дублирането не е позволено -GDPRContact=Длъжностно лице по защита на данните (DPO, Защита на лични данни или GDPR контакт) +GDPRContact=Длъжностно лице по защита на данните (DPO, защита на лични данни или GDPR контакт) GDPRContactDesc=Ако съхранявате данни за европейски компании / граждани, тук може да посочите контакт, който е отговорен за Общия регламент за защита на данните /GDPR/ -HelpOnTooltip=Помощен текст, който да се показва в подсказка +HelpOnTooltip=Подсказка HelpOnTooltipDesc=Поставете тук текст или ключ за превод, който да се покаже в подсказка, когато това поле се появи във формуляр YouCanDeleteFileOnServerWith=Може да изтриете този файл от сървъра с команда в терминала:
    %s ChartLoaded=Сметкопланът е зареден @@ -1923,7 +1934,7 @@ LoadThirdPartyFromNameOrCreate=Зареждане на името на конт WithDolTrackingID=Намерена е Dolibarr референция в идентификационния номер на съобщението WithoutDolTrackingID=Не е намерена Dolibarr референция в идентификационния номер на съобщението FormatZip=Zip -MainMenuCode=Код на менюто (главно меню) +MainMenuCode=Код на меню (главно меню) ECMAutoTree=Показване на автоматично ECM дърво OperationParamDesc=Определете стойности, които да използвате за действие или как да извличате стойности. Например:
    objproperty1=SET:abc
    objproperty1=SET:value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:abc
    objproperty4=EXTRACT:HEADER:X-Myheaderkey.*[^\\s]+(*).
    options_myextrafield=EXTRACT:SUBJECT:([^\\s]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Използвайте символа ; като разделител за извличане или задаване на няколко свойства. OpeningHours=Работно време @@ -1958,7 +1969,8 @@ DEBUGBAR_LOGS_LINES_NUMBER=Брой последни редове на журн WarningValueHigherSlowsDramaticalyOutput=Внимание, по-високите стойности забавят драматично производителността ModuleActivated=Модул %s е активиран и забавя интерфейса EXPORTS_SHARE_MODELS=Моделите за експортиране се споделят с всички -ExportSetup=Настройка на модула Експортиране на данни +ExportSetup=Настройка на модула за експортиране на данни +ImportSetup=Настройка на модула за импортиране на данни InstanceUniqueID=Уникален идентификатор на инстанцията SmallerThan=По-малък от LargerThan=По-голям от @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Направете анонимен Ping '+1' до сървъ FeatureNotAvailableWithReceptionModule=Функцията не е налична, когато е активиран модул Приемане EmailTemplate=Шаблон за имейл EMailsWillHaveMessageID=Имейлите ще имат етикет „Референции“, отговарящ на този синтаксис -PDF_USE_ALSO_LANGUAGE_CODE=Ако искате да имате някакво текстово заглавие във вашия PDF файл, дублиран на 2 различни езика в един и същ генериран PDF файл, трябва да зададете тук този втори език, така генерираният PDF файл ще съдържа 2 различни езика на една и съща страница, избраният при генериране на PDF и този (само няколко PDF шаблона поддържат това). Запазете празно за един език в PDF. +PDF_USE_ALSO_LANGUAGE_CODE=Ако искате да имате някои текстове във вашия PDF файл, дублирани на 2 различни езика в един и същ генериран PDF файл, трябва да посочите тук този втори език, така че генерираният PDF файл да съдържа 2 различни езика на една и съща страница, избраният при генериране на PDF и този (само няколко PDF шаблона поддържат това). Запазете празно за един език в PDF файла. FafaIconSocialNetworksDesc=Въведете тук кода за FontAwesome икона. Ако не знаете какво е FontAwesome, може да използвате стандартната стойност fa-address book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/bg_BG/bills.lang b/htdocs/langs/bg_BG/bills.lang index 1d906bde056..6b3ccb21875 100644 --- a/htdocs/langs/bg_BG/bills.lang +++ b/htdocs/langs/bg_BG/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Фактури за доставка SupplierBill=Фактура за доставка SupplierBills=Фактури за доставка Payment=Плащане -PaymentBack=Обратно плащане -CustomerInvoicePaymentBack=Обратно плащане +PaymentBack=Възстановяване +CustomerInvoicePaymentBack=Възстановяване Payments=Плащания PaymentsBack=Възстановявания paymentInInvoiceCurrency=във валута на фактури PaidBack=Платено обратно DeletePayment=Изтриване на плащане ConfirmDeletePayment=Сигурни ли сте че, искате да изтриете това плащане? -ConfirmConvertToReduc=Искате ли да конвертирате това %s в абсолютна отстъпка? +ConfirmConvertToReduc=Искате ли да конвертирате товa %s в наличен кредит? ConfirmConvertToReduc2=Сумата ще бъде запазена измежду всички отстъпки и може да се използва като отстъпка за текуща или бъдеща фактура за този клиент. -ConfirmConvertToReducSupplier=Искате ли да конвертирате това %s в абсолютна отстъпка? +ConfirmConvertToReducSupplier=Искате ли да конвертирате товa %s в наличен кредит? ConfirmConvertToReducSupplier2=Сумата ще бъде запазена измежду всички отстъпки и може да се използва като отстъпка за текуща или бъдеща фактура за този доставчик. SupplierPayments=Плащания към доставчици ReceivedPayments=Получени плащания @@ -205,10 +205,10 @@ ConfirmValidatePayment=Сигурни ли сте, че искате да вал ValidateBill=Валидиране на фактура UnvalidateBill=Повторно отваряне на фактура NumberOfBills=Брой фактури -NumberOfBillsByMonth=Брой фактури на месец +NumberOfBillsByMonth=Брой фактури за месец AmountOfBills=Сума на фактури AmountOfBillsHT=Сума на фактури (без ДДС) -AmountOfBillsByMonthHT=Сума на фактури по месец (без ДДС) +AmountOfBillsByMonthHT=Стойност на фактури за месец (без ДДС) ShowSocialContribution=Показване на социален / фискален данък ShowBill=Показване на фактура ShowInvoice=Показване на фактура @@ -219,7 +219,10 @@ ShowInvoiceSituation=Показване на ситуационна фактур UseSituationInvoices=Разрешаване на ситуационна фактура UseSituationInvoicesCreditNote=Разрешаване на кредитно известие за ситуационна фактура Retainedwarranty=Запазена гаранция +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Процент по подразбиране за запазена гаранция +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Да се плати на %s toPayOn=да се плати на %s RetainedWarranty=Запазена гаранция @@ -509,11 +512,11 @@ ToMakePayment=Плащане ToMakePaymentBack=Обратно плащане ListOfYourUnpaidInvoices=Списък с неплатени фактури NoteListOfYourUnpaidInvoices=Забележка: Този списък съдържа само фактури за контрагенти, с които сте свързан като търговски представител. -RevenueStamp=Приходен печат (бандерол) +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Тази опция е налична само при създаване на фактура от раздел "Клиент" на контрагента YouMustCreateInvoiceFromSupplierThird=Тази опция е налична само при създаването на фактура от раздел "Доставчик" на контрагента YouMustCreateStandardInvoiceFirstDesc=Първо трябва да създадете стандартна фактура и да я конвертирате в „шаблон“, за да създадете нова шаблонна фактура -PDFCrabeDescription=PDF шаблон за фактура. Пълен шаблон за фактура (стара реализация на шаблон Sponge) +PDFCrabeDescription=PDF шаблон за фактура. Пълен шаблон за фактура PDFSpongeDescription=PDF шаблон за фактура. Пълен шаблон за фактура PDFCrevetteDescription=PDF шаблон за фактура. Пълен шаблон за ситуационни фактури TerreNumRefModelDesc1=Връща номер с формат %syymm-nnnn за стандартни фактури и %syymm-nnnn за кредитни бележки, където yy е година, mm е месец и nnnn е последователност без прекъсване и няма връщане към 0 @@ -550,7 +553,7 @@ DisabledBecauseFinal=Тази ситуация е финална. situationInvoiceShortcode_AS=КАТО situationInvoiceShortcode_S=С CantBeLessThanMinPercent=Напредъкът не може да бъде по-малък от стойността в предишната ситуация. -NoSituations=Няма отворени ситуации +NoSituations=Няма активни ситуации InvoiceSituationLast=Последна и обща фактура PDFCrevetteSituationNumber=Ситуация №%s PDFCrevetteSituationInvoiceLineDecompte=Ситуационна фактура - Преброяване @@ -575,3 +578,4 @@ AutoFillDateTo=Посочете крайна дата на услуга в за AutoFillDateToShort=Задаване на крайна дата MaxNumberOfGenerationReached=Максималният брой генерирани документи е достигнат BILL_DELETEInDolibarr=Фактурата е изтрита +BILL_SUPPLIER_DELETEInDolibarr=Фактурата за доставка е изтрита diff --git a/htdocs/langs/bg_BG/blockedlog.lang b/htdocs/langs/bg_BG/blockedlog.lang index 372aa24a92b..60c5d813935 100644 --- a/htdocs/langs/bg_BG/blockedlog.lang +++ b/htdocs/langs/bg_BG/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Неизменими регистри ShowAllFingerPrintsMightBeTooLong=Показване на всички архивирани регистри (може да са дълги) ShowAllFingerPrintsErrorsMightBeTooLong=Показване на всички невалидни архивирани регистри (може да са дълги) DownloadBlockChain=Изтегляне на идентификационни данни -KoCheckFingerprintValidity=Записът в архивираният регистър не е валиден. Това означава, че някой (хакер?) е променил данните тук, след като е бил направен запис или е изтрил предишния архивиран запис (сравнете този ред с предишния #, който съществува). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Записът в архивираният регистър е валиден. Данните от този ред не са променени и записът следва предишния. OkCheckFingerprintValidityButChainIsKo=Архивираният регистър изглежда валиден в сравнение с предишния, но веригата е повредена от преди това. AddedByAuthority=Съхранено в отдалечен орган diff --git a/htdocs/langs/bg_BG/cashdesk.lang b/htdocs/langs/bg_BG/cashdesk.lang index a6d1891c088..28d7540f858 100644 --- a/htdocs/langs/bg_BG/cashdesk.lang +++ b/htdocs/langs/bg_BG/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Добавете артикула RestartSelling=Обратно към продажбите SellFinished=Продажбата е завършена PrintTicket=Отпечатване на етикет +SendTicket=Изпращане на етикет NoProductFound=Няма открит артикул ProductFound=открит продукт NoArticle=Няма артикул @@ -48,6 +49,7 @@ Footer=Футър AmountAtEndOfPeriod=Сума в края на периода (ден, месец или година) TheoricalAmount=Теоретична сума RealAmount=Реална сума +CashFence=Cash fence CashFenceDone=Парична граница за периода NbOfInvoices=Брой фактури Paymentnumpad=Тип Pad за въвеждане на плащане @@ -56,11 +58,12 @@ BillsCoinsPad=Pad за монети и банкноти DolistorePosCategory=TakePOS модули и други ПОС решения за Dolibarr TakeposNeedsCategories=TakePOS се нуждае от продуктови категории, за да работи OrderNotes=Бележки за поръчка -CashDeskBankAccountFor=Профил по подразбиране, който да се използва за плащания в +CashDeskBankAccountFor=Сметка по подразбиране, която да се използва за плащания с NoPaimementModesDefined=В конфигурацията на TakePOS не е определен тип на плащане -TicketVatGrouped=Групиране на ДДС по ставка в билетите -AutoPrintTickets=Автоматично отпечатване на билети -EnableBarOrRestaurantFeatures=Включете функции за бар или ресторант +TicketVatGrouped=Групиране на ДДС по ставка в етикети / разписки +AutoPrintTickets=Автоматично отпечатване на етикети / разписки +PrintCustomerOnReceipts=Отпечатване на клиент върху етикети / разписки +EnableBarOrRestaurantFeatures=Функции за бар или ресторант ConfirmDeletionOfThisPOSSale=Потвърждавате ли изтриването на настоящата продажба? ConfirmDiscardOfThisPOSSale=Искате ли да отхвърлите тази текуща продажба? History=История @@ -87,7 +90,19 @@ HeadBar=Заглавна лента SortProductField=Поле за сортиране на продукти Browser=Браузър BrowserMethodDescription=Прост и лесен отпечатване на разписки. Само няколко параметъра за конфигуриране на разписката. Отпечатване, чрез браузър. -TakeposConnectorMethodDescription=Външен модул с допълнителни функции. Възможност за отпечатване от облака. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Метод на отпечатване ReceiptPrinterMethodDescription=Мощен метод с много параметри. Пълно персонализиране с шаблони. Не може да отпечатва от облака. -ByTerminal=By terminal +ByTerminal=По терминал +TakeposNumpadUsePaymentIcon=Използване на икона за плащане в цифровия панел +CashDeskRefNumberingModules=Модул за номериране на каси +CashDeskGenericMaskCodes6 =
    {TN} тагът се използва за добавяне на номера на терминала +TakeposGroupSameProduct=Групиране на едни и същи продукти +StartAParallelSale=Стартиране на нова паралелна продажба +ControlCashOpening=Контролиране на каса при стартиране на ПОС +CloseCashFence=Close cash fence +CashReport=Паричен отчет +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/bg_BG/companies.lang b/htdocs/langs/bg_BG/companies.lang index d0da486bd28..5118a9a8ede 100644 --- a/htdocs/langs/bg_BG/companies.lang +++ b/htdocs/langs/bg_BG/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Фирма "%s" е изтрита от базата данни. ListOfContacts=Списък на контакти / адреси ListOfContactsAddresses=Списък на контакти / адреси ListOfThirdParties=Списък на контрагенти -ShowCompany=Показване на контрагент ShowContact=Показване на контакт ContactsAllShort=Всички (без филтър) ContactType=Тип контакт @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Собствено име на търговския SaleRepresentativeLastname=Фамилия на търговския представител ErrorThirdpartiesMerge=При изтриването на контрагента възникна грешка. Моля, проверете историята. Промените са отменени. NewCustomerSupplierCodeProposed=Кода на клиент или доставчик е вече използван, необходим е нов код. +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Начин на плащане - клиент PaymentTermsCustomer=Условия за плащане - Клиент diff --git a/htdocs/langs/bg_BG/compta.lang b/htdocs/langs/bg_BG/compta.lang index 3b9a13a5d6b..e89f987a70d 100644 --- a/htdocs/langs/bg_BG/compta.lang +++ b/htdocs/langs/bg_BG/compta.lang @@ -68,7 +68,7 @@ SpecialExpensesArea=Секция за всички специални плаща SocialContribution=Социален или фискален данък SocialContributions=Социални или фискални данъци SocialContributionsDeductibles=Приспадащи се социални или фискални данъци -SocialContributionsNondeductibles=Не приспадащи се социални или данъчни данъци +SocialContributionsNondeductibles=Не приспадащи се социални или фискални данъци LabelContrib=Име на вноска TypeContrib=Тип вноска MenuSpecialExpenses=Специални разходи @@ -139,8 +139,8 @@ ConfirmDeleteSocialContribution=Сигурни ли сте, че искате д ExportDataset_tax_1=Социални / фискални данъци и плащания CalcModeVATDebt=Режим %sДДС върху осчетоводени задължения%s CalcModeVATEngagement=Режим %sДДС върху приходи - разходи%s -CalcModeDebt=Анализ на регистрираните фактури, дори ако те все още не са осчетоводени в книгата. -CalcModeEngagement=Анализ на регистрираните плащания, дори ако те все още не са осчетоводени в книгата. +CalcModeDebt=Анализ на регистрирани фактури, включително на неосчетоводени в книгата +CalcModeEngagement=Анализ на регистрирани плащания, включително на неосчетоводени в книгата CalcModeBookkeeping=Анализ на данни, регистрирани в таблицата на счетоводната книга. CalcModeLT1= Режим %sRE върху фактури за продажба - фактури за доставка%s CalcModeLT1Debt=Режим %sRE върху фактури за продажба%s @@ -157,17 +157,17 @@ SeeReportInInputOutputMode=Вижте %sанализа на плащанията SeeReportInDueDebtMode=Вижте %sанализа на фактурите%s за изчисляване, който е базиран на регистираните фактури, дори и ако те все още не са осчетоводени в книгата. SeeReportInBookkeepingMode=Вижте %sСчетоводния доклад%s за изчисляване на таблицата в счетоводната книга RulesAmountWithTaxIncluded=- Посочените суми са с включени всички данъци -RulesResultDue=- Включва неизплатени фактури, разходи, ДДС, дарения, независимо дали са платени или не. Включва също платени заплати.
    - Основава се на датата на валидиране на фактурите и ДДС и на датата на падежа на разходите. За заплати, определени с модула заплати се използва датата на плащането. -RulesResultInOut=- Включва реалните плащания по фактури, разходи, ДДС и заплати.
    - Основава се на датите на плащане на фактурите, разходите, ДДС и заплатите. Датата на дарение за дарения. -RulesCADue=- Включва дължимите фактури на клиента, независимо дали са платени или не.
    - Базирани на датата на валидиране на тези фактури.
    -RulesCAIn=- Включва всички ефективни плащания по фактури, получени от клиенти.
    - Базирани на датата на плащане на тези фактури
    +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. +RulesResultInOut=- Включва реални плащания по фактури, разходи, ДДС и заплати
    - Основава се на дата на плащане на фактури, разходи, ДДС и заплати. Дата на дарение за дарения. +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    +RulesCAIn=- Включва всички реални плащания по фактури, получени от клиенти
    - Основава се на дата на плащане на тези фактури
    RulesCATotalSaleJournal=Включва всички кредитни линии от журнала за продажба. RulesAmountOnInOutBookkeepingRecord=Включва запис във вашата книга със счетоводни сметки, които са в групата "РАЗХОД" или "ПРИХОД" RulesResultBookkeepingPredefined=Включва запис във вашата книга със счетоводни сметки, които са в групата "РАЗХОД" или "ПРИХОД" RulesResultBookkeepingPersonalized=Показва запис във вашата книга със счетоводни сметки , групирани в персонализирани групи SeePageForSetup=Вижте менюто %s за настройка -DepositsAreNotIncluded=- Фактурите за авансови плащания не са включени -DepositsAreIncluded=- Фактурите за авансови плащания са включени +DepositsAreNotIncluded=- Не включва фактури за авансови плащания +DepositsAreIncluded=- Включва фактури за авансови плащания LT1ReportByCustomers=Справка за данък 2 по контрагент LT2ReportByCustomers=Справка за данък 3 по контрагент LT1ReportByCustomersES=Справка за RE по контрагент @@ -219,8 +219,8 @@ Mode1=Метод 1 Mode2=Метод 2 CalculationRuleDesc=За изчисляване на общия ДДС има два метода:
    Метод 1 закръгля ДДС за всеки ред, след което ги сумира.
    Метод 2 сумира ДДС от всеки ред, след което закръглява резултатът.
    Крайните резултати може да се различават в известна степен. Метод по подразбиране е метод %s. CalculationRuleDescSupplier=Според доставчика, изберете подходящ метод, за да приложите същото правило за изчисление и да получите същия резултат, очакван от вашия доставчик. -TurnoverPerProductInCommitmentAccountingNotRelevant=Справката за оборот, натрупан от продукт, не е наличен. Тази справка е налице само за фактуриран оборот. -TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=Справката за оборот, натрупан от данък върху продажбите, не е наличен. Тази справка е налице само за фактуриран оборот. +TurnoverPerProductInCommitmentAccountingNotRelevant=Отчетът за оборот, натрупан от продукт, не е наличен. Този отчет е наличен само за фактуриран оборот. +TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=Отчетът за оборот, натрупан от данък върху продажбите, не е наличен. Този отчет е наличен само за фактуриран оборот. CalculationMode=Режим на изчисление AccountancyJournal=Счетоводен код на журнал ACCOUNTING_VAT_SOLD_ACCOUNT=Счетоводна сметка по подразбиране за ДДС при продажби (използва се, ако не е определена при настройка на речника за ДДС) @@ -255,3 +255,10 @@ TurnoverbyVatrate=Оборот, фактуриран по ставка на ДД TurnoverCollectedbyVatrate=Оборот, натрупан по ставка на ДДС PurchasebyVatrate=Покупка по ставка на ДДС LabelToShow=Кратко означение +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index e8d46885c8a..58564caac1b 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -46,9 +46,9 @@ ErrorUserCannotBeDelete=Потребителят не може да бъде и ErrorFieldsRequired=Някои задължителни полета не са попълнени. ErrorSubjectIsRequired=Необходима е тема на имейл ErrorFailedToCreateDir=Неуспешно създаване на директория. Уверете се, че уеб сървър потребител има разрешение да пишат в Dolibarr документи. Ако параметър safe_mode е разрешен в тази PHP, проверете дали Dolibarr PHP файлове притежава за потребителя на уеб сървъра (или група). -ErrorNoMailDefinedForThisUser=Не поща, определена за този потребител +ErrorNoMailDefinedForThisUser=Няма дефиниран имейл за този потребител ErrorFeatureNeedJavascript=Тази функция трябва ДжаваСкрипт да се активира, за да работят. Променете тази настройка - дисплей. -ErrorTopMenuMustHaveAParentWithId0=Менюто на "Топ" тип не може да има меню майка. Поставете 0 в майка меню или изберете меню от типа "ляво". +ErrorTopMenuMustHaveAParentWithId0=Меню от тип 'Горно' не може да има главно меню. Поставете 0 за главно меню или изберете меню от тип 'Ляво'. ErrorLeftMenuMustHaveAParentId=Менюто на "левицата" тип трябва да имат родителски идентификатор. ErrorFileNotFound=Файлът не %s намерена (Bad път, грешни права или отказан достъп от PHP openbasedir или safe_mode параметър) ErrorDirNotFound=Директория %s не е намерен (Bad път, грешни права или отказан достъп от PHP openbasedir или safe_mode параметър) @@ -59,6 +59,7 @@ ErrorPartialFile=Файла не е получил изцяло от сървъ ErrorNoTmpDir=Временно за директно %s не съществува. ErrorUploadBlockedByAddon=Качи блокиран от PHP / Apache плъгин. ErrorFileSizeTooLarge=Размерът на файла е твърде голям. +ErrorFieldTooLong=Полето %s е твърде дълго ErrorSizeTooLongForIntType=Размер твърде дълго за Вътрешна (%s цифри максимум) ErrorSizeTooLongForVarcharType=Размер твърде дълго за низ тип (%s символа максимум) ErrorNoValueForSelectType=Моля попълнете стойност за списък избиране @@ -122,7 +123,7 @@ ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a giv ErrorLinesCantBeNegativeOnDeposits=Редовете не могат да бъдат отрицателни при депозит. Ще се сблъскате с проблеми, когато включите депозита в окончателната фактура. ErrorQtyForCustomerInvoiceCantBeNegative=Количество за ред в клиентска фактура не може да бъде отрицателно ErrorWebServerUserHasNotPermission=Потребителски акаунт %s използват за извършване на уеб сървър не разполага с разрешение за това -ErrorNoActivatedBarcode=Не е тип баркод активира +ErrorNoActivatedBarcode=Няма активиран тип баркод ErrUnzipFails=Неуспех да разархивирате %s с ZipArchive ErrNoZipEngine=Няма инструмент за архивиране/разархивиране на файл %s в PHP ErrorFileMustBeADolibarrPackage=Файла %s трябва да бъде Dolibarr zip архив @@ -233,8 +234,9 @@ ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Грешка, езикът ErrorLanguageOfTranslatedPageIsSameThanThisPage=Грешка, езикът на преведената страница е същият като този. ErrorBatchNoFoundForProductInWarehouse=Няма намерен партиден / сериен номер за продукт '%s' в склад '%s'. ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Няма достатъчно количество от този партиден / сериен номер за продукт '%s' в склад '%s'. -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorOnlyOneFieldForGroupByIsPossible=Възможно е само едно поле за 'Групиране по' (другите се пренебрегват) +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Вашата стойност на PHP параметър upload_max_filesize (%s) е по-голяма от стойността на PHP параметър post_max_size (%s). Това не е последователна настройка. WarningPasswordSetWithNoAccount=За този член бе зададена парола. Въпреки това, не е създаден потребителски акаунт. Така че тази парола е съхранена, но не може да се използва за влизане в Dolibarr. Може да се използва от външен модул/интерфейс, но ако не е необходимо да дефинирате потребителско име или парола за член може да деактивирате опцията "Управление на вход за всеки член" от настройката на модула Членове. Ако трябва да управлявате вход, но не се нуждаете от парола, можете да запазите това поле празно, за да избегнете това предупреждение. Забележка: Имейлът може да се използва и като вход, ако членът е свързан с потребител. @@ -259,5 +261,5 @@ WarningYourLoginWasModifiedPleaseLogin=Входните ви данни са п WarningAnEntryAlreadyExistForTransKey=Вече съществува запис за ключа за превод за този език WarningNumberOfRecipientIsRestrictedInMassAction=Внимание, броят на различните получатели е ограничен до %s, когато се използват масови действия в списъците WarningDateOfLineMustBeInExpenseReportRange=Внимание, датата на реда не е в обхвата на разходния отчет -WarningProjectClosed=Проектът е затворен. Трябва първо да го отворите отново. +WarningProjectClosed=Проектът е приключен. Трябва първо да го активирате отново. WarningSomeBankTransactionByChequeWereRemovedAfter=Някои банкови транзакции бяха премахнати, след което бе генерирана разписка, в която са включени. Броят на чековете и общата сума на разписката може да се различават от броя и общата сума в списъка. diff --git a/htdocs/langs/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index 008cb0e89bd..e4abfe30de4 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=PHP поддържа Curl. PHPSupportCalendar=PHP поддържа разширения на календари. PHPSupportUTF8=PHP поддържа UTF8 функции. PHPSupportIntl=PHP поддържа Intl функции. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=PHP поддържа %s функции. PHPMemoryOK=Максималният размер на паметта за PHP сесия е настроен на %s. Това трябва да е достатъчно. PHPMemoryTooLow=Вашият максимален размер на паметта за PHP сесия е настроен на %s байта. Това е твърде ниско. Променете php.ini като зададете стойност на параметър memory_limit поне %s байта. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Вашата PHP инсталация не поддъ ErrorPHPDoesNotSupportCalendar=Вашата PHP инсталация не поддържа разширения за календар. ErrorPHPDoesNotSupportUTF8=Вашата PHP инсталация не поддържа UTF8 функции. Dolibarr не може да работи правилно. Решете това преди да инсталирате Dolibarr. ErrorPHPDoesNotSupportIntl=Вашата PHP инсталация не поддържа Intl функции. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Вашата PHP инсталация не поддържа %s функции. ErrorDirDoesNotExists=Директорията %s не съществува. ErrorGoBackAndCorrectParameters=Върнете се назад и проверете / коригирайте параметрите. @@ -182,10 +184,10 @@ MigrationContractsInvalidDatesNothingToUpdate=Няма неправилни да MigrationContractsIncoherentCreationDateUpdate=Корекция на неправилни дати на създаване в договори MigrationContractsIncoherentCreationDateUpdateSuccess=Корекцията на неправилните дати на създаване в договори е успешно извършена MigrationContractsIncoherentCreationDateNothingToUpdate=Няма неправилни дати на създаване в договори за коригиране -MigrationReopeningContracts=Отворен договор е затворен с грешка +MigrationReopeningContracts=Активен договор е приключен с грешка MigrationReopenThisContract=Повторно отваряне на договор %s MigrationReopenedContractsNumber=%s променен(и) договор(а) -MigrationReopeningContractsNothingToUpdate=Няма затворени договори за отваряне +MigrationReopeningContractsNothingToUpdate=Няма приключени договори за актуализиране MigrationBankTransfertsUpdate=Актуализиране на връзките между банков запис и банков превод MigrationBankTransfertsNothingToUpdate=Всички връзки са актуални MigrationShipmentOrderMatching=Актуализация на експедиционни бележки @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Приложението се опита да с YouTryInstallDisabledByFileLock=Приложението се опита да се самоактуализира, но страниците за инсталация / актуализация са били изключени от гледна точка на сигурност (от наличието на заключващ файл install.lock в директорията documents на Dolibarr).
    ClickHereToGoToApp=Кликнете тук, за да отидете в приложението си ClickOnLinkOrRemoveManualy=Кликнете върху следната връзка. Ако винаги виждате същата страница, трябва да премахнете / преименувате файла install.lock в директорията documents на Dolibarr. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/bg_BG/link.lang b/htdocs/langs/bg_BG/link.lang index 82f13ef5198..047d53902e2 100644 --- a/htdocs/langs/bg_BG/link.lang +++ b/htdocs/langs/bg_BG/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Връзката %s е премахната ErrorFailedToDeleteLink= Премахването на връзката '%s' не е успешно ErrorFailedToUpdateLink= Актуализацията на връзката '%s' не е успешна URLToLink=URL адрес +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/bg_BG/mails.lang b/htdocs/langs/bg_BG/mails.lang index 83e195432d4..e0396ddfaa9 100644 --- a/htdocs/langs/bg_BG/mails.lang +++ b/htdocs/langs/bg_BG/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Няма намерен контакт/адрес с NoContactLinkedToThirdpartieWithCategoryFound=Няма намерен контакт/адрес с тази категория OutGoingEmailSetup=Настройка на изходяща електронна поща InGoingEmailSetup=Настройка на входящата поща -OutGoingEmailSetupForEmailing=Настройка на изходяща електронна поща (за масово изпращане по имейл) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Настройка на изходящата поща по подразбиране Information=Информация ContactsWithThirdpartyFilter=Контакти с филтър за контрагент diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index c3f5487e1b0..c5fdbe37db2 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -61,7 +61,7 @@ ErrorDuplicateField=Дублиране в поле с уникални стой ErrorSomeErrorWereFoundRollbackIsDone=Намерени са някои грешки. Промените бяха отменени. ErrorConfigParameterNotDefined=Параметър %s не е дефиниран в конфигурационния файл на Dolibarr conf.php . ErrorCantLoadUserFromDolibarrDatabase=Не е открит потребител %s в базата данни. -ErrorNoVATRateDefinedForSellerCountry=Грешка, не са дефинирани ДДС ставки за държавата „%s“. +ErrorNoVATRateDefinedForSellerCountry=Грешка, не са дефинирани ДДС ставки за държавата "%s". ErrorNoSocialContributionForSellerCountry=Грешка, не е дефиниран тип за социални / фискални данъци за държавата "%s". ErrorFailedToSaveFile=Грешка, неуспешно записване на файл. ErrorCannotAddThisParentWarehouse=Опитвате се да добавите основен склад, който вече е под-склад на съществуващ склад @@ -143,7 +143,7 @@ Activate=Активиране Activated=Активирано Closed=Приключен Closed2=Неактивен -NotClosed=Не е затворен +NotClosed=Не е приключен Enabled=Активен Enable=Включване Deprecated=Отхвърлено @@ -174,6 +174,7 @@ SaveAndStay=Съхраняване SaveAndNew=Съхраняване и създаване TestConnection=Проверяване на връзката ToClone=Клониране +ConfirmCloneAsk=Сигурни ли сте, че искате да клонирате обект %s? ConfirmClone=Изберете данни, които искате да клонирате: NoCloneOptionsSpecified=Няма определени данни за клониране. Of=на @@ -417,7 +418,7 @@ VATNPR=Данъчна ставка NPR DefaultTaxRate=Данъчна ставка по подразбиране Average=Средно Sum=Сума -Delta=Делта +Delta=Разлика StatusToPay=За плащане RemainToPay=Оставащо за плащане Module=Модул / Приложение @@ -429,7 +430,7 @@ Statistics=Статистика OtherStatistics=Други статистически данни Status=Статус Favorite=Фаворит -ShortInfo=Инфо. +ShortInfo=Информация Ref=№ ExternalRef=Външен № RefSupplier=Изх. № на доставчик @@ -438,7 +439,7 @@ CommercialProposalsShort=Търговски предложения Comment=Коментар Comments=Коментари ActionsToDo=Предстоящи събития -ActionsToDoShort=Да се направи +ActionsToDoShort=За извършване ActionsDoneShort=Завършено ActionNotApplicable=Не се прилага ActionRunningNotStarted=За започване @@ -457,7 +458,7 @@ ActionsOnContract=Свързани събития ActionsOnMember=Събития за този член ActionsOnProduct=Събития за този продукт NActionsLate=%s закъснели -ToDo=Да се направи +ToDo=За извършване Completed=Завършено Running=В процес RequestAlreadyDone=Заявката вече е записана @@ -472,8 +473,8 @@ Duration=Продължителност TotalDuration=Обща продължителност Summary=Резюме DolibarrStateBoard=Статистика от базата данни -DolibarrWorkBoard=Отворени елементи -NoOpenedElementToProcess=Няма отворен елемент за обработка +DolibarrWorkBoard=Активни елементи +NoOpenedElementToProcess=Няма активен елемент за обработка Available=Налично NotYetAvailable=Все още не е налично NotAvailable=Не е налично @@ -593,8 +594,8 @@ JoinMainDoc=Присъединете към основния документ DateFormatYYYYMM=YYYY-MM DateFormatYYYYMMDD=YYYY-MM-DD DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS -ReportName=Име на отчета -ReportPeriod=Период на отчета +ReportName=Име на отчет +ReportPeriod=Период на отчет ReportDescription=Описание Report=Отчет Keyword=Ключова дума @@ -659,7 +660,7 @@ AlreadyRead=Вече е прочетено NotRead=Непрочетено NoMobilePhone=Няма мобилен телефон Owner=Собственик -FollowingConstantsWillBeSubstituted=Следните константи ще бъдат заменени със съответната стойност. +FollowingConstantsWillBeSubstituted=Следните константи ще бъдат заменени със съответната стойност: Refresh=Обновяване BackToList=Назад към списъка GoBack=Назад @@ -745,7 +746,7 @@ Result=Резултат ToTest=Тест ValidateBefore=Елементът трябва да бъде валидиран, преди да използвате тази функция. Visibility=Видимост -Totalizable=Обобщаване +Totalizable=Обобщеност TotalizableDesc=Това поле е обобщаващо в списъка Private=Личен Hidden=Скрит @@ -829,6 +830,8 @@ Gender=Пол Genderman=Мъж Genderwoman=Жена ViewList=Списъчен изглед +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Задължително Hello=Здравейте GoodBye=Довиждане @@ -898,8 +901,8 @@ LeadOrProject=Възможност | Проект LeadsOrProjects=Възможности | Проекти Lead=Възможност Leads=Възможности -ListOpenLeads=Отворени възможности -ListOpenProjects=Отворени проекти +ListOpenLeads=Активни възможности +ListOpenProjects=Активни проекти NewLeadOrProject=Нова възможност или проект Rights=Права LineNb=Ред № @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Изберете опциите за изгражд Measures=Мерки XAxis=Х-ос YAxis=Y-ос +StatusOfRefMustBe=Статуса на %s трябва да бъде %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/bg_BG/orders.lang b/htdocs/langs/bg_BG/orders.lang index b19a1664578..09890779ff5 100644 --- a/htdocs/langs/bg_BG/orders.lang +++ b/htdocs/langs/bg_BG/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=Имейл OrderByWWW=Онлайн OrderByPhone=Телефон # Documents models -PDFEinsteinDescription=Пълен шаблон на поръчка (стара реализация на шаблон Eratosthene)) +PDFEinsteinDescription=Пълен шаблон на поръчка PDFEratostheneDescription=Пълен шаблон на поръчка PDFEdisonDescription=Опростен шаблон за поръчка PDFProformaDescription=Пълен шаблон за проформа-фактура diff --git a/htdocs/langs/bg_BG/other.lang b/htdocs/langs/bg_BG/other.lang index b2d59a2aa81..db0d1a6edd7 100644 --- a/htdocs/langs/bg_BG/other.lang +++ b/htdocs/langs/bg_BG/other.lang @@ -30,11 +30,11 @@ PreviousYearOfInvoice=Предишна година от дата на факт NextYearOfInvoice=Следваща година от дата на фактурата DateNextInvoiceBeforeGen=Дата на следващата фактура (преди генериране) DateNextInvoiceAfterGen=Дата на следващата фактура (след генериране) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. +GraphInBarsAreLimitedToNMeasures=Графиките са ограничени до %s измервания в режим 'Ленти'. Вместо това автоматично е избран режимът 'Линии'. OnlyOneFieldForXAxisIsPossible=Понастоящем е възможно само 1 поле за X-ос. Само първото маркирано поле е избрано. AtLeastOneMeasureIsRequired=Изисква се поне 1 поле за измерване AtLeastOneXAxisIsRequired=Необходимо е поне 1 поле за X-ос - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Поръчката за продажба е валидирана Notify_ORDER_SENTBYMAIL=Поръчката за продажба е изпратена на имейл Notify_ORDER_SUPPLIER_SENTBYMAIL=Поръчката за покупка е изпратена на имейл @@ -51,7 +51,7 @@ Notify_WITHDRAW_EMIT=Извършване на оттегляне Notify_COMPANY_CREATE=Контрагентът е създаден Notify_COMPANY_SENTBYMAIL=Имейли изпратени от картата на контрагента Notify_BILL_VALIDATE=Фактурата за продажба е валидирана -Notify_BILL_UNVALIDATE=Фактурата за продажба е отворена отново +Notify_BILL_UNVALIDATE=Фактурата за продажба е активна отново Notify_BILL_PAYED=Фактурата за продажба е платена Notify_BILL_CANCEL=Фактурата за продажба е анулирана Notify_BILL_SENTBYMAIL=Фактурата за продажба е изпратена на имейл @@ -132,9 +132,9 @@ FeaturesSupported=Поддържани функции Width=Ширина Height=Височина Depth=Дълбочина -Top=Отгоре +Top=Горно Bottom=Отдолу -Left=Отляво +Left=Ляво Right=Отдясно CalculatedWeight=Изчислено тегло CalculatedVolume=Изчислен обем @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL адрес на страницата WEBSITE_TITLE=Заглавие WEBSITE_DESCRIPTION=Описание WEBSITE_IMAGE=Изображение -WEBSITE_IMAGEDesc=Относителен път до изображението. Може да запазите това празно, тъй като се използва рядко (може да се използва от динамично съдържание, за да се покаже миниатюра в списък с публикации в блога). Използвайте __WEBSITEKEY__ в пътя, ако пътят зависи от името на уебсайта. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Ключови думи LinesToImport=Редове за импортиране diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index 65ed5522789..7c7f0f55122 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Този инструмент актуализира с MassBarcodeInit=Масова инициализация на баркодове MassBarcodeInitDesc=Тази страница може да се използва за инициализиране на баркод на обекти, които нямат дефиниран баркод. Проверете преди това дали настройката на модул 'Баркод' е завършена. ProductAccountancyBuyCode=Счетоводен код (покупка) +ProductAccountancyBuyIntraCode=Счетоводен код (вътреобщностна покупка) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Счетоводен код (продажба) ProductAccountancySellIntraCode=Счетоводен код (вътреобщностна продажба) ProductAccountancySellExportCode=Счетоводен код (експортна продажба) @@ -79,7 +81,7 @@ NewPrice=Нова цена MinPrice=Минимална продажна цена EditSellingPriceLabel=Променяне на етикета с продажна цена CantBeLessThanMinPrice=Продажната цена не може да бъде по-ниска от минимално допустимата за този продукт/услуга (%s без ДДС). Това съобщение може да се появи, ако въведете твърде голяма отстъпка. -ContractStatusClosed=Затворен +ContractStatusClosed=Приключен ErrorProductAlreadyExists=Вече съществува продукт / услуга с № %s. ErrorProductBadRefOrLabel=Грешна стойност за № или име ErrorProductClone=Възникна проблем при опит за клониране на продукта/услугата. @@ -165,7 +167,7 @@ SuppliersPrices=Доставни цени SuppliersPricesOfProductsOrServices=Доставни цени (на продукти / услуги) CustomCode=Митнически / Стоков / ХС код CountryOrigin=Държава на произход -Nature=Произход на продукта (суровина / произведен) +Nature=Nature of product (material/finished) ShortLabel=Кратко означение Unit=Мярка p=е. diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index 085bf0bbe35..a0bc06032dd 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -17,7 +17,7 @@ ProjectsPublicTaskDesc=Този изглед представя всички п ProjectsDesc=Този изглед представя всички проекти (вашите потребителски права ви дават разрешение да виждате всичко). TasksOnProjectsDesc=Този изглед представя всички задачи за всички проекти (вашите потребителски права ви дават разрешение да виждате всичко). MyTasksDesc=Този изглед е ограничен до проекти или задачи, в които сте определен за контакт -OnlyOpenedProject=Само отворените проекти са видими (чернови или приключени проекти не са видими). +OnlyOpenedProject=Само активните проекти са видими (чернови или приключени проекти не са видими). ClosedProjectsAreHidden=Приключените проекти не са видими. TasksPublicDesc=Този страница показва всички проекти и задачи, които може да прочетете. TasksDesc=Този страница показва всички проекти и задачи (вашите потребителски права ви дават разрешение да виждате всичко). @@ -31,9 +31,9 @@ DeleteAProject=Изтриване на проект DeleteATask=Изтриване на задача ConfirmDeleteAProject=Сигурни ли сте, че искате да изтриете този проект? ConfirmDeleteATask=Сигурни ли сте, че искате да изтриете тази задача? -OpenedProjects=Отворени проекти -OpenedTasks=Отворени задачи -OpportunitiesStatusForOpenedProjects=Размер на възможностите от отворени проекти по статус +OpenedProjects=Активни проекти +OpenedTasks=Активни задачи +OpportunitiesStatusForOpenedProjects=Размер на възможностите от активни проекти по статус OpportunitiesStatusForProjects=Размер на възможностите от проекти по статус ShowProject=Показване на проект ShowTask=Показване на задача @@ -52,7 +52,7 @@ TaskTimeSpent=Време, отделено на задачи TaskTimeUser=Потребител TaskTimeNote=Бележка TaskTimeDate=Дата -TasksOnOpenedProject=Задачи от отворени проекти +TasksOnOpenedProject=Задачи от активни проекти WorkloadNotDefined=Не е определена работна натовареност NewTimeSpent=Отделено време MyTimeSpent=Моето отделено време @@ -78,7 +78,7 @@ MyProjectsArea=Секция с мои проекти DurationEffective=Ефективна продължителност ProgressDeclared=Деклариран напредък TaskProgressSummary=Напредък на задачата -CurentlyOpenedTasks=Отворени задачи в момента +CurentlyOpenedTasks=Текущи активни задачи TheReportedProgressIsLessThanTheCalculatedProgressionByX=Декларираният напредък е по-малко %s от изчисления напредък TheReportedProgressIsMoreThanTheCalculatedProgressionByX=Декларираният напредък е повече %s от изчисления напредък ProgressCalculated=Изчислен напредък @@ -87,8 +87,6 @@ WhichIamLinkedToProject=с които съм свързан в проект Time=Време ListOfTasks=Списък със задачи GoToListOfTimeConsumed=Показване на списъка с изразходвано време -GoToListOfTasks=Показване като списък -GoToGanttView=Показване като Gantt GanttView=Gantt диаграма ListProposalsAssociatedProject=Списък на търговски предложения, свързани с проекта ListOrdersAssociatedProject=Списък на поръчки за продажба, свързани с проекта @@ -122,7 +120,7 @@ ValidateProject=Валидиране на проект ConfirmValidateProject=Сигурни ли сте, че искате да валидирате този проект? CloseAProject=Приключване на проект ConfirmCloseAProject=Сигурни ли сте, че искате да приключите този проект? -AlsoCloseAProject=Приключване на проект (задръжте го отворен, ако все още трябва да работите по задачите в него) +AlsoCloseAProject=Приключване на проект (задръжте го активен, ако все още трябва да работите по задачите в него) ReOpenAProject=Отваряне на проект ConfirmReOpenAProject=Сигурни ли сте, че искате да отворите повторно този проект? ProjectContact=Контакти / Участници @@ -188,7 +186,7 @@ PlannedWorkload=Планирана натовареност PlannedWorkloadShort=Натовареност ProjectReferers=Свързани елементи ProjectMustBeValidatedFirst=Проектът трябва първо да бъде валидиран -FirstAddRessourceToAllocateTime=Определете потребителски ресурс на задачата за разпределяне на времето +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=За ден InputPerWeek=За седмица InputPerMonth=За месец @@ -212,16 +210,16 @@ ProjectNbProjectByMonth=Брой създадени проекти на месе ProjectNbTaskByMonth=Брой създадени задачи на месец ProjectOppAmountOfProjectsByMonth=Сума на възможностите на месец ProjectWeightedOppAmountOfProjectsByMonth=Изчислена сума на възможностите на месец -ProjectOpenedProjectByOppStatus=Отворен проект / възможност по статус на възможността +ProjectOpenedProjectByOppStatus=Активен проект / възможност по статус на възможността ProjectsStatistics=Статистики на проекти / възможности TasksStatistics=Статистика на задачи TaskAssignedToEnterTime=Задачата е възложена. Въвеждането на време по тази задача трябва да е възможно. IdTaskTime=Идентификатор на време на задача YouCanCompleteRef=Ако искате да завършите номера с някакъв суфикс, препоръчително е да добавите символ "-", за да го отделите, така че автоматичното номериране да продължи да работи правилно за следващите проекти. Например %s-Суфикс -OpenedProjectsByThirdparties=Отворени проекти по контрагенти +OpenedProjectsByThirdparties=Активни проекти по контрагенти OnlyOpportunitiesShort=Само възможности -OpenedOpportunitiesShort=Отворени възможности -NotOpenedOpportunitiesShort=Неотворени възможности +OpenedOpportunitiesShort=Активни възможности +NotOpenedOpportunitiesShort=Неактивни възможности NotAnOpportunityShort=Не е възможност OpportunityTotalAmount=Обща сума на възможностите OpportunityPonderatedAmount=Изчислена сума на възможностите @@ -240,11 +238,12 @@ LatestModifiedProjects=Проекти: %s последно променени OtherFilteredTasks=Други филтрирани задачи NoAssignedTasks=Не са намерени възложени задачи (възложете проект / задачи на текущия потребител от най-горното поле за избор, за да въведете времето в него) ThirdPartyRequiredToGenerateInvoice=Трябва да бъде определен контрагент по проекта, за да може да генерирате фактура. +ChooseANotYetAssignedTask=Изберете задача, която все още не ви е възложена # Comments trans AllowCommentOnTask=Разрешаване на потребителски коментари в задачите AllowCommentOnProject=Разрешаване на потребителски коментари в проектите DontHavePermissionForCloseProject=Нямате права, за да приключите проект %s. -DontHaveTheValidateStatus=Проектът %s трябва да бъде отворен, за да го приключите. +DontHaveTheValidateStatus=Проектът %s трябва да бъде активен, за да го приключите. RecordsClosed=%s проект(а) е(са) приключен(и) SendProjectRef=Информация за проект %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Модулът 'Заплати' трябва да бъде активиран, за да дефинирате почасова ставка на служителите, за да оценените отделеното по проекта време @@ -257,7 +256,7 @@ InvoiceGeneratedFromTimeSpent=Фактура %s е генерирана въз ProjectBillTimeDescription=Маркирайте, ако въвеждате график на задачите в проекта и планирате да генерирате фактура(и) за клиента от графика на задачите в проекта (не маркирайте, ако планирате да създадете фактура, която не се основава на въведеният график на задачите). Забележка: За да генерирате фактура, отидете в раздела "Отделено време" на проекта и изберете редовете, които да включите. ProjectFollowOpportunity=Проследяване на възможности ProjectFollowTasks=Проследяване на задачи -Usage=Usage +Usage=Употреба UsageOpportunity=Употреба: Възможност UsageTasks=Употреба: Задачи UsageBillTimeShort=Употреба: Фактуриране на време @@ -265,3 +264,4 @@ InvoiceToUse=Чернова фактура, която да използвате NewInvoice=Нова фактура OneLinePerTask=Един ред на задача OneLinePerPeriod=Един ред на период +RefTaskParent=Съгласно главна задача № diff --git a/htdocs/langs/bg_BG/propal.lang b/htdocs/langs/bg_BG/propal.lang index 2e87c9ef3a0..567c61986d2 100644 --- a/htdocs/langs/bg_BG/propal.lang +++ b/htdocs/langs/bg_BG/propal.lang @@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Получател на фактура TypeContact_propal_external_CUSTOMER=Получател на предложение TypeContact_propal_external_SHIPPING=Получател на доставка # Document models -DocModelAzurDescription=Пълен шаблон на предложение (стара реализация на шаблон Cyan) +DocModelAzurDescription=Пълен шаблон на предложение DocModelCyanDescription=Пълен модел на предложение DefaultModelPropalCreate=Създаване на шаблон по подразбиране DefaultModelPropalToBill=Шаблон по подразбиране, когато се приключва търговско предложение (за да бъде фактурирано) diff --git a/htdocs/langs/bg_BG/receiptprinter.lang b/htdocs/langs/bg_BG/receiptprinter.lang index b7af63dc077..05efd4813a1 100644 --- a/htdocs/langs/bg_BG/receiptprinter.lang +++ b/htdocs/langs/bg_BG/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Фиктивен принтер CONNECTOR_NETWORK_PRINT=Мрежови принтер CONNECTOR_FILE_PRINT=Локален принтер CONNECTOR_WINDOWS_PRINT=Локален Windows принтер +CONNECTOR_CUPS_PRINT=CUPS принтер CONNECTOR_DUMMY_HELP=Фиктивен принтер за тест, не прави нищо CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=Име на CUPS принтер, пример: HPRT_TP805L PROFILE_DEFAULT=Профил по подразбиране PROFILE_SIMPLE=Обикновен профил PROFILE_EPOSTEP=Epos Tep профил @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Месец на фактура с букви DOL_VALUE_MONTH=Месец на фактура DOL_VALUE_DAY=Ден на фактура DOL_VALUE_DAY_LETTERS=Ден на фактура с букви +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Съгласно фактура № +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=ДДС № +DOL_VALUE_MYSOC_CAPITAL=Капитал +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/bg_BG/stripe.lang b/htdocs/langs/bg_BG/stripe.lang index fcd0789b5f7..b5cfa89acb3 100644 --- a/htdocs/langs/bg_BG/stripe.lang +++ b/htdocs/langs/bg_BG/stripe.lang @@ -32,6 +32,7 @@ VendorName=Име на доставчик CSSUrlForPaymentForm=URL адрес на CSS стил с формуляр за плащане NewStripePaymentReceived=Получено е ново Stripe плащане NewStripePaymentFailed=Неуспешен опит за ново Stripe плащане +FailedToChargeCard=Неупешно таксуване на карта STRIPE_TEST_SECRET_KEY=Тестов Secret ключ STRIPE_TEST_PUBLISHABLE_KEY=Тестов Publishable ключ STRIPE_TEST_WEBHOOK_KEY=Тестов Webhook ключ @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Връзка към настройка на Stripe We ToOfferALinkForLiveWebhook=Връзка към настройка на Stripe WebHook за извикване на IPN (реален режим) PaymentWillBeRecordedForNextPeriod=Плащането ще бъде регистрирано за следващия период. ClickHereToTryAgain=Кликнете тук, за да опитате отново ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Поради строгите правила за автентификация на клиентите, създаването на карта трябва да се извърши от вътрешния интерфейс на Stripe. Може да кликнете тук, за да включите клиентския Stripe запис: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/bg_BG/users.lang b/htdocs/langs/bg_BG/users.lang index 38003af0e13..e5a96ba466f 100644 --- a/htdocs/langs/bg_BG/users.lang +++ b/htdocs/langs/bg_BG/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Потребители и техните реквизити DomainUser=Домейн потребител %s Reactivate=Възстановяване CreateInternalUserDesc=Тази форма позволява да създадете вътрешен потребител във вашата фирма / организация. За да създадете външен потребител (за клиент, доставчик и т.н.), използвайте бутона 'Създаване на потребител' в картата на контакта за този контрагент. -InternalExternalDesc=Вътрешния потребител е потребител, който е част от вашата фирма / организация.
    Външният потребител е клиент, доставчик или друг.

    И в двата случая разрешенията дефинират права в Dolibarr, също така външния потребител може да има различен мениджър на менюто от вътрешния потребител (Вижте Начало - Настройка - Дисплей) +InternalExternalDesc=Вътрешен потребител е този, който е част от вашата фирма / организация.
    Външен потребител е този, който е клиент, доставчик или друг (Външен потребител към контрагент може да бъде създаден от раздела 'Контакти / Адреси' на съответният контрагент).

    И в двата случая разрешенията определят права в Dolibarr, също така външният потребител може да има различен меню манипулатор от вътрешният (Вижте Начало - Настройка - Интерфейс). PermissionInheritedFromAGroup=Разрешението е предоставено, тъй като е наследено от една от групите на потребителя. Inherited=Наследено UserWillBeInternalUser=Създаденият потребителят ще бъде вътрешен потребител (тъй като не е свързан с определен контрагент) @@ -113,3 +113,5 @@ CantDisableYourself=Не можете да забраните собствени ForceUserExpenseValidator=Принудително валидиране на разходни отчети ForceUserHolidayValidator=Принудително валидиране на молби за отпуск ValidatorIsSupervisorByDefault=По подразбиране валидиращият е ръководителя на потребителя. Оставете празно, за да запазите това поведение. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/bg_BG/website.lang b/htdocs/langs/bg_BG/website.lang index b6b2033b01b..95a9f829429 100644 --- a/htdocs/langs/bg_BG/website.lang +++ b/htdocs/langs/bg_BG/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Преглед на страницата в нов раздел SetAsHomePage=Задаване като начална страница RealURL=Реален URL адрес ViewWebsiteInProduction=Преглед на уебсайт, чрез начални URL адреси -SetHereVirtualHost=Използване, чрез Apache / NGinx / ...
    Ако може да създадете на вашия уеб сървър (Apache, Nginx, ...) специален виртуален хост с активиран PHP и основна директория в
    %s,
    то тогава посочете името на виртуалния хост, който сте създали в свойствата на уебсайта, така че прегледът може да се извърши и чрез този специализиран достъп до уеб сървъра, вместо чрез вътрешния Dolibarr сървър. +SetHereVirtualHost=Използвайте с Apache / Nginx / ...
    Създайте на вашият уеб сървър (Apache, Nginx, ...) специален виртуален хост с PHP поддръжка и основна директория в
    %s +ExampleToUseInApacheVirtualHostConfig=Пример за използване при настройка на виртуалния хост в Apache: YouCanAlsoTestWithPHPS=Използване, чрез вграден PHP сървър
    В среда за разработка може да предпочетете да тествате сайта с вградения PHP уеб сървър (изисква се PHP 5.5) като стартирате
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Стартирайте уебсайта си на друг Dolibarr хостинг доставчик
    Ако нямате уеб сървър като Apache или NGinx в интернет може да експортирате и импортирате уебсайта си в друга Dolibarr инстанция, предоставена от друг Dolibarr хостинг доставчик, който осигурява пълна интеграция с модула на уебсайта. Може да намерите списък с някои доставчици на Dolibarr хостинг услуги на https://saas.dolibarr.org CheckVirtualHostPerms=Проверете също дали виртуалният хост има права за %s на файлове в
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=За съжаление този уебсайт WEBSITE_USE_WEBSITE_ACCOUNTS=Активиране на таблица с уебсайт профили WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Активирайте таблица, която да съхранява уебсайт профили (потребителски имена / пароли) за всеки уебсайт / контрагент YouMustDefineTheHomePage=Първо трябва да дефинирате началната страница по подразбиране -OnlyEditionOfSourceForGrabbedContentFuture=Внимание: Създаването на уеб страница, чрез импортиране на външна уеб страница е препоръчително за опитни потребители. В зависимост от сложността на импортираната страница, резултатът може да се различава от оригинала. Също така, ако импортираната страницата използва общи CSS стилове или противоречащ JavaScript, тя може да наруши външния вид или функции на редактора на уебсайтове, когато се работи върху тази страница. Този метод е бърз начин за създаване на страница, но се препоръчва да създадете новата си страница от нулата или от предложен шаблон за страница.
    Обърнете внимание също, че редактирането на изходния HTML код ще бъде възможно, когато съдържанието на страницата е инициализирано, чрез прихващане на външна страница ("Онлайн" редакторът няма да бъде наличен). +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Когато съдържанието е прихванато от външен сайт е възможно само издание с изходен HTML код. GrabImagesInto=Прихващане на изображения открити в CSS и страница. ImagesShouldBeSavedInto=Изображенията трябва да бъдат записани в директория @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Като добра SEO практика използ MainLanguage=Основен език OtherLanguages=Други езици UseManifest=Въведете manifest.json файл +PublicAuthorAlias=Публичен псевдоним на автора +AvailableLanguagesAreDefinedIntoWebsiteProperties=Наличните езици сa дефинирани в свойствата на уебсайта +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/bn_BD/admin.lang b/htdocs/langs/bn_BD/admin.lang index 2f36c876c1a..0205f246b0c 100644 --- a/htdocs/langs/bn_BD/admin.lang +++ b/htdocs/langs/bn_BD/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/bn_BD/bills.lang b/htdocs/langs/bn_BD/bills.lang index a8b48700ee6..5c9c86c1376 100644 --- a/htdocs/langs/bn_BD/bills.lang +++ b/htdocs/langs/bn_BD/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment ? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/bn_BD/blockedlog.lang b/htdocs/langs/bn_BD/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/bn_BD/blockedlog.lang +++ b/htdocs/langs/bn_BD/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/bn_BD/cashdesk.lang b/htdocs/langs/bn_BD/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/bn_BD/cashdesk.lang +++ b/htdocs/langs/bn_BD/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/bn_BD/companies.lang b/htdocs/langs/bn_BD/companies.lang index 3de0eb0c8e3..4ef1ae39ddd 100644 --- a/htdocs/langs/bn_BD/companies.lang +++ b/htdocs/langs/bn_BD/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/bn_BD/compta.lang b/htdocs/langs/bn_BD/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/bn_BD/compta.lang +++ b/htdocs/langs/bn_BD/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/bn_BD/errors.lang b/htdocs/langs/bn_BD/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/bn_BD/errors.lang +++ b/htdocs/langs/bn_BD/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/bn_BD/install.lang b/htdocs/langs/bn_BD/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/bn_BD/install.lang +++ b/htdocs/langs/bn_BD/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/bn_BD/link.lang b/htdocs/langs/bn_BD/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/bn_BD/link.lang +++ b/htdocs/langs/bn_BD/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/bn_BD/mails.lang b/htdocs/langs/bn_BD/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/bn_BD/mails.lang +++ b/htdocs/langs/bn_BD/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/bn_BD/main.lang b/htdocs/langs/bn_BD/main.lang index a29b56dc3bf..2f70685f627 100644 --- a/htdocs/langs/bn_BD/main.lang +++ b/htdocs/langs/bn_BD/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/bn_BD/other.lang b/htdocs/langs/bn_BD/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/bn_BD/other.lang +++ b/htdocs/langs/bn_BD/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/bn_BD/products.lang b/htdocs/langs/bn_BD/products.lang index d8a3192551f..a31243a07b6 100644 --- a/htdocs/langs/bn_BD/products.lang +++ b/htdocs/langs/bn_BD/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/bn_BD/projects.lang b/htdocs/langs/bn_BD/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/bn_BD/projects.lang +++ b/htdocs/langs/bn_BD/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/bn_BD/receiptprinter.lang b/htdocs/langs/bn_BD/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/bn_BD/receiptprinter.lang +++ b/htdocs/langs/bn_BD/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/bn_BD/stripe.lang b/htdocs/langs/bn_BD/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/bn_BD/stripe.lang +++ b/htdocs/langs/bn_BD/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/bn_BD/users.lang b/htdocs/langs/bn_BD/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/bn_BD/users.lang +++ b/htdocs/langs/bn_BD/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/bn_BD/website.lang b/htdocs/langs/bn_BD/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/bn_BD/website.lang +++ b/htdocs/langs/bn_BD/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index e8725dacf6f..8747ea5b951 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Više parametara preko komandne linije -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Postavke modula za računovodstvo UserSetup=Postavke upravljanja korisnika MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=Link +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Upozorenje, ova vrijednost se može prebrisati posebnim postavkama korisnika (svaki korisnik može postaviti svoj clicktodial URL) -ExternalModule=Eksterni moduli - Instalirani u direktorij %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Stopa LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index ad9be7f229a..252e06a5c6c 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=fakture dobavljača Payment=Uplata -PaymentBack=Povrat uplate -CustomerInvoicePaymentBack=Povrat uplate +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Uplate PaymentsBack=Refunds paymentInInvoiceCurrency=u valuti faktura PaidBack=Uplaćeno nazad DeletePayment=Obriši uplatu ConfirmDeletePayment=Da li ste sigurni da želite obrisati ovu uplatu? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Primljene uplate @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Platiti ToMakePaymentBack=Povrat uplate ListOfYourUnpaidInvoices=Lista neplaćenih faktura NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Carinski pečat +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=PDF šablon Crevette za račune. Kompletan šablon za situiranje privremenih situacija TerreNumRefModelDesc1=Predlaga številko v formatu %syymm-nnnn za standardne račune in %syymm-nnnn za dobropise kjer je yy leto, mm mesec in nnnn zaporedna broj brez presledkov in večja od 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Faktura obrisana +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/bs_BA/blockedlog.lang b/htdocs/langs/bs_BA/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/bs_BA/blockedlog.lang +++ b/htdocs/langs/bs_BA/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/bs_BA/cashdesk.lang b/htdocs/langs/bs_BA/cashdesk.lang index e97f4077a5c..30796188873 100644 --- a/htdocs/langs/bs_BA/cashdesk.lang +++ b/htdocs/langs/bs_BA/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Dodaj ovaj proizvod RestartSelling=Nazad na prodaju SellFinished=Sale complete PrintTicket=Isprintaj račun +SendTicket=Send ticket NoProductFound=Nema pronađenih proizvoda ProductFound=proizvod pronađen NoArticle=Nema proizvoda @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Broj faktura Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/bs_BA/companies.lang b/htdocs/langs/bs_BA/companies.lang index 38ad3fdea51..af7c0a6cc82 100644 --- a/htdocs/langs/bs_BA/companies.lang +++ b/htdocs/langs/bs_BA/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Kompanija"%s" obrisana iz baze podataka ListOfContacts=Lista kontakta/adresa ListOfContactsAddresses=Lista kontakta/adresa ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Prikaži kontakt ContactsAllShort=Svi (bez filtera) ContactType=Tip kontakta @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Ime predstavnika prodaje SaleRepresentativeLastname=Prezime predstavnika prodaje ErrorThirdpartiesMerge=Nastala je greška pri brisanju treće strane. Molimo vas da provjerite zapisnik. Izmjene su vraćene. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/bs_BA/compta.lang b/htdocs/langs/bs_BA/compta.lang index 247a97b2fb1..488ffaee0e9 100644 --- a/htdocs/langs/bs_BA/compta.lang +++ b/htdocs/langs/bs_BA/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index 4cb8dc104bf..5ab22b34cc1 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index df3d27d0459..204e5360006 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Vaša maksimalna memorija za PHP sesiju je postavljena na %s. To bi trebalo biti dovoljno. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Direktorij %s ne postoji. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/bs_BA/link.lang b/htdocs/langs/bs_BA/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/bs_BA/link.lang +++ b/htdocs/langs/bs_BA/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/bs_BA/mails.lang b/htdocs/langs/bs_BA/mails.lang index 386a1f9a367..3b41f698ef6 100644 --- a/htdocs/langs/bs_BA/mails.lang +++ b/htdocs/langs/bs_BA/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Inromacije ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index 8e35d27d977..a025ce378fb 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test konekcije ToClone=Kloniraj +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Nije definiran podatak za kloniranje. Of=od @@ -829,6 +830,8 @@ Gender=Spol Genderman=Muškarac Genderwoman=Žena ViewList=Lista +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obavezno Hello=Zdravo GoodBye=Zbogom @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/bs_BA/other.lang b/htdocs/langs/bs_BA/other.lang index 91eec967638..0ecb34ad42f 100644 --- a/htdocs/langs/bs_BA/other.lang +++ b/htdocs/langs/bs_BA/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Titula WEBSITE_DESCRIPTION=Opis WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Linija za uvoz diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index a945967e610..afa6c414b77 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Jedinica p=u. diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index 48074f53837..56127b173e0 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Vrijeme ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Povezane stavke ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nova faktura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/bs_BA/receiptprinter.lang b/htdocs/langs/bs_BA/receiptprinter.lang index 22f1e96b300..c8fa83f8e37 100644 --- a/htdocs/langs/bs_BA/receiptprinter.lang +++ b/htdocs/langs/bs_BA/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Referenca fakture +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/bs_BA/stripe.lang b/htdocs/langs/bs_BA/stripe.lang index 3cbffcb605f..a1d7a15aa8b 100644 --- a/htdocs/langs/bs_BA/stripe.lang +++ b/htdocs/langs/bs_BA/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/bs_BA/users.lang b/htdocs/langs/bs_BA/users.lang index 5a9bc1af868..06906541007 100644 --- a/htdocs/langs/bs_BA/users.lang +++ b/htdocs/langs/bs_BA/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Korisnik domene %s Reactivate=Reaktivirati CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Dozvola je prenesena od jedne korisničke grupe. Inherited=Preneseno UserWillBeInternalUser=Kreirani korisnik će biti interni korisnik (jer nije povezan sa nekim subjektom) @@ -110,3 +110,8 @@ UserLogged=Korisnik prijavljen DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/bs_BA/website.lang b/htdocs/langs/bs_BA/website.lang index 0bb2c7d5870..735f153ab1f 100644 --- a/htdocs/langs/bs_BA/website.lang +++ b/htdocs/langs/bs_BA/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index b8125edbf2e..2b9c2c4ea33 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Observació: El seu PHP limita la mida a %s %s de NoMaxSizeByPHPLimit=Cap limitació interna en el seu servidor PHP MaxSizeForUploadedFiles=Tamany màxim dels documents a pujar (0 per prohibir la pujada) UseCaptchaCode=Utilització de codi gràfic (CAPTCHA) en el login -AntiVirusCommand= Ruta completa cap al comandament antivirus -AntiVirusCommandExample= Exemple per a ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Exemple per a ClamAv: /usr/bin/clamscan +AntiVirusCommand=Ruta completa cap al comandament antivirus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Paràmetres complementaris en la línia de comandes -AntiVirusParamExample= Exemple per a ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Configuració del mòdul Comptabilitat UserSetup=Configuració de gestió d'usuaris MultiCurrencySetup=Configuració multi-divisa @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Opció deshabilitada en demo FeatureAvailableOnlyOnStable=Funcionalitat disponible únicament en versions estables oficials BoxesDesc=Els panells són components que mostren algunes dades que poden afegir-se per personalitzar algunes pàgines. Pots triar entre mostrar el panell o no seleccionant la pàgina de destí i fent clic a 'Activar', o fent clic en la paperera per desactivar. OnlyActiveElementsAreShown=Només els elements de mòduls activats són mostrats -ModulesDesc=Els mòduls/aplicacions determinen quines funcions estan disponibles al programa. Alguns mòduls requereixen permisos que es concedeixen als usuaris després d'activar el mòdul. Feu clic al botó d'encès/apagat (al final de la línia del mòdul) per activar/desactivar un mòdul/aplicació. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Pots trobar més mòduls per descarregar en pàgines web externes per internet... ModulesDeployDesc=Si els permisos en el seu sistema d'arxius ho permiteixen, pot utilitzar aquesta ferramente per instal·lar un mòdul extern. El mòdul estarà aleshores visible en la pestanya %s ModulesMarketPlaces=Trobar mòduls/complements externs @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible amb la versió %s NotCompatible=Aquest mòdul no sembla compatible amb el vostre Dolibarr %s (Mín %s - Màx %s). CompatibleAfterUpdate=Aquest mòdul requereix actualitzar el vostre Dolibarr %s (Mín %s - Màx %s). SeeInMarkerPlace=Veure a la tenda d'apps +SeeSetupOfModule=Vegi la configuració del mòdul %s Updated=Actualitzat Nouveauté=Novetat AchatTelechargement=Comprar / Descarregar @@ -221,6 +222,7 @@ DoliPartnersDesc=Llista d'empreses que proporcionen desenvolupament a mida de m WebSiteDesc=Llocs web de referència per trobar més mòduls (no core)... DevelopYourModuleDesc=Algunes solucions per desenvolupar el vostre propi mòdul... URL=URL +RelativeURL=URL relativa BoxesAvailable=Panells disponibles BoxesActivated=Panells activats ActivateOn=Activar a @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Deixa-ho buit per usar el valor per defecte DefaultLink=Enllaç per defecte SetAsDefault=Indica'l com Defecte ValueOverwrittenByUserSetup=Atenció: Aquest valor pot ser sobreescrit per un valor específic de la configuració de l'usuari (cada usuari pot tenir la seva pròpia url clicktodial) -ExternalModule=Mòdul extern - Instal·lat al directori %s +ExternalModule=Mòdul extern +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Inicialització massiva de codis de barres per a tercers BarcodeInitForProductsOrServices=Inici massiu de codi de barres per productes o serveis CurrentlyNWithoutBarCode=Actualment, té %s registres a %s %s sense codi de barres definit. @@ -947,7 +950,7 @@ DictionaryCanton=Estats/Províncies DictionaryRegion=Regions DictionaryCountry=Països DictionaryCurrency=Monedes -DictionaryCivility=Títol de civisme +DictionaryCivility=Títols honorífics DictionaryActions=Tipus d'esdeveniments de l'agenda DictionarySocialContributions=Tipus d'impostos varis DictionaryVAT=Taxa d'IVA o Impost de vendes @@ -988,6 +991,7 @@ VATIsNotUsedDesc=El tipus d'IVA proposat per defecte és 0. Aquest és el cas d' VATIsUsedExampleFR=A França, es tracta de les societats o organismes que trien un règim fiscal general (General simplificat o General normal), règim en el qual es declara l'IVA. VATIsNotUsedExampleFR=A França, es tracta d'associacions que no siguin declarades per vendes o empreses, organitzacions o professions liberals que hagin triat el sistema fiscal de la microempresa (Impost sobre vendes en franquícia) i paguen una franquícia. Impost sobre vendes sense declaració d'impost sobre vendes. Aquesta elecció mostrarà la referència "Impost sobre vendes no aplicable - art-293B de CGI" a les factures. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Tarifa LocalTax1IsNotUsed=No subjecte LocalTax1IsUsedDesc=Utilitzar un 2on tipus d'impost (diferent de l'IVA) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=El tipus d'IRPF proposat per defecte en les creacions de p LocalTax2IsNotUsedDescES=El tipus d'IRPF proposat per defecte es 0. Final de regla. LocalTax2IsUsedExampleES=A Espanya, es tracta de persones físiques: autònoms i professionals independents que presten serveis i empreses que han triat el règim fiscal de mòduls. LocalTax2IsNotUsedExampleES=A Espanya, es tracta d'empreses no subjectes al règim fiscal de mòduls. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Informes d'impostos locals CalcLocaltax1=Vendes - Compres CalcLocaltax1Desc=Els informes es calculen amb la diferència entre les vendes i les compres @@ -1018,6 +1025,7 @@ CalcLocaltax2=Compres CalcLocaltax2Desc=Els informes es basen en el total de les compres CalcLocaltax3=Vendes CalcLocaltax3Desc=Els informes es basen en el total de les vendes +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etiqueta utilitzada per defecte si no es troba cap traducció per aquest codi LabelOnDocuments=Etiqueta sobre documents LabelOrTranslationKey=Clau de traducció o cadena @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Informe de despeses per aprovar Delays_MAIN_DELAY_HOLIDAYS=Dies lliures a aprovar SetupDescription1=Abans de començar a utilitzar Dolibarr cal definir alguns paràmetres inicials i habilitar/configurar els mòduls. SetupDescription2=Les dues seccions següents són obligatòries (les dues primeres entrades al menú Configuració): -SetupDescription3=  %s -> %s
    Paràmetres bàsics per personalitzar el comportament predeterminat de la vostra aplicació (per exemple, per a funcions relacionades amb el país). -SetupDescription4=  %s -> %s
    Aquest programari és un conjunt de molts mòduls / aplicacions, tots ells més o menys independents. Els mòduls rellevants per a les vostres necessitats s'han d’habilitar i configurar. S'afegeixen nous elements / opcions als menús amb l’activació d’un mòdul. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Altres entrades del menú d'instal·lació gestionen paràmetres opcionals. LogEvents=Auditoria de la seguretat d'esdeveniments Audit=Auditoria @@ -1128,7 +1136,7 @@ LogEventDesc=Habiliteu el registre per a esdeveniments de seguretat específics. AreaForAdminOnly=Els paràmetres de configuració només poden ser establerts per usuaris administradors. SystemInfoDesc=La informació del sistema és informació tècnica accessible només en només lectura als administradors. SystemAreaForAdminOnly=Aquesta àrea només està disponible per als usuaris administradors. Els permisos d'usuari de Dolibarr no poden canviar aquesta restricció. -CompanyFundationDesc=Edita la informació de l’empresa / entitat. Feu clic al botó "%s" al final de la pàgina. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Si teniu un comptable extern, podeu editar aquí la seva informació. AccountantFileNumber=Número de fila DisplayDesc=Els paràmetres que afecten l'aspecte i el comportament de Dolibarr es poden modificar aquí. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Regles per generar i validar contrasenyes DisableForgetPasswordLinkOnLogonPage=No mostri l'enllaç "Contrasenya oblidada" a la pàgina d'inici de sessió UsersSetup=Configuració del mòdul usuaris UserMailRequired=Es necessita un correu electrònic per crear un nou usuari +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Configuració de mòdul de gestió de recursos humans ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Models de documents de factures BillsPDFModulesAccordindToInvoiceType=Model de documents de factures d'acord amb el tipus de factura PaymentsPDFModules=Models de documents de pagament ForceInvoiceDate=Forçar la data de factura a la data de validació -SuggestedPaymentModesIfNotDefinedInInvoice=Formes de pagament suggerides per a les factures si no estan definides explícitament +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggereix el pagament per retirada per compte SuggestPaymentByChequeToAddress=Suggereix pagament mitjançant xec a FreeLegalTextOnInvoices=Text lliure en factures @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Configuració de pagaments a proveïdors PropalSetup=Configuració del mòdul Pressupostos ProposalsNumberingModules=Models de numeració de pressupostos ProposalsPDFModules=Models de documents de pressupostos -SuggestedPaymentModesIfNotDefinedInProposal=El mode de pagaments suggerit a la proposta per defecte si no es defineix per a la proposta +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Text lliure en pressupostos WatermarkOnDraftProposal=Marca d'aigua en pressupostos esborrany (en cas d'estar buit) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Preguntar compte bancari del pressupost @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Preguntar per el magatzem d'origen per a la ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Demana el compte bancari de destí de la comanda de compra ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Configuració de gestió d'ordres de vendes OrdersNumberingModules=Models de numeració de comandes OrdersModelModule=Models de documents de comandes @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Advertència, els valors més alts fren ModuleActivated=El mòdul %s està activat i alenteix la interfície EXPORTS_SHARE_MODELS=Els models d’exportació es comparteixen amb tothom ExportSetup=Configuració del mòdul Export +ImportSetup=Setup of module Import InstanceUniqueID=ID únic de la instància SmallerThan=Menor que LargerThan=Major que @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Creeu un ping "+1" anònim al servidor de bases Doli FeatureNotAvailableWithReceptionModule=Funció no disponible quan el mòdul Recepció està habilitat EmailTemplate=Plantilla per correu electrònic EMailsWillHaveMessageID=Els correus electrònics tindran una etiqueta "Referències" que coincideix amb aquesta sintaxi -PDF_USE_ALSO_LANGUAGE_CODE=Si voleu tenir un títol de text al vostre PDF duplicat en 2 idiomes diferents en un mateix generar PDF, heu d’establir aquí aquest segon idioma de manera que el PDF generat contindrà 2 idiomes diferents a la mateixa pàgina, l’elecció al generar PDF i aquest. (només algunes plantilles PDF suporten això). Manteniu-lo buit per a 1 idioma per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Introduïu aquí el codi de la icona de FontAwesome. Si no sabeu què és FontAwesome, podeu utilitzar el llibre genèric d’adreces. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ca_ES/bills.lang b/htdocs/langs/ca_ES/bills.lang index f9866a5e9fb..b6726202768 100644 --- a/htdocs/langs/ca_ES/bills.lang +++ b/htdocs/langs/ca_ES/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Factures de proveïdors SupplierBill=Factura del proveïdor SupplierBills=Factures de proveïdors Payment=Pagament -PaymentBack=Reembossament -CustomerInvoicePaymentBack=Reembossament +PaymentBack=Devolució +CustomerInvoicePaymentBack=Devolució Payments=Pagaments PaymentsBack=Devolucions paymentInInvoiceCurrency=en divisa de factures PaidBack=Reemborsat DeletePayment=Elimina el pagament ConfirmDeletePayment=Esteu segur de voler eliminar aquest pagament? -ConfirmConvertToReduc=Voleu convertir aquest %s en un descompte absolut? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=L’import s’emmagatzemarà entre tots els descomptes i es podrà utilitzar com a descompte per a una factura actual o futura per a aquest client. -ConfirmConvertToReducSupplier=Voleu convertir aquest %s en un descompte absolut? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=L’import s’ha desat entre tots els descomptes i es podrà utilitzar com a descompte per a una factura actual o futura per a aquest proveïdor. SupplierPayments=Pagaments a proveïdors ReceivedPayments=Pagaments rebuts @@ -219,7 +219,10 @@ ShowInvoiceSituation=Mostra la factura de situació UseSituationInvoices=Permetre la factura de la situació UseSituationInvoicesCreditNote=Permet la nota de crèdit de la factura de situació Retainedwarranty=Garantia retinguda +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Percentatge de garantia retingut per defecte +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Per pagar %s toPayOn=a pagar %s RetainedWarranty=Garantia retinguda @@ -509,11 +512,11 @@ ToMakePayment=Pagar ToMakePaymentBack=Reemborsar ListOfYourUnpaidInvoices=Llistat de factures impagades NoteListOfYourUnpaidInvoices=Nota: Aquest llistat només conté factures de tercers que tens enllaçats com a agent comercial. -RevenueStamp=Timbre fiscal +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Aquesta opció només està disponible al moment de crear una factura des de la llengüeta "Client" de tercers YouMustCreateInvoiceFromSupplierThird=Aquesta opció només està disponible quan es crea la factura des de la pestanya "proveïdor" d'un tercer YouMustCreateStandardInvoiceFirstDesc=Primer has de crear una factura estàndard i convertir-la en "plantilla" per crear una nova plantilla de factura -PDFCrabeDescription=Plantilla de factura PDF Crabe. Una plantilla de factura completa (implementació antiga de la plantilla Sponge) +PDFCrabeDescription=Plantilla de factura PDF Crabe. Una plantilla de factura completa PDFSpongeDescription=Plantilla PDF de factures Sponge. Una plantilla de factura completa PDFCrevetteDescription=Plantilla Crevette per factures PDF. Una plantilla de factura completa per factures de situació. TerreNumRefModelDesc1=Retorna el nombre sota el format %syymm-nnnn per a les factures i %syymm-nnnn per als abonaments on yy és l'any, mm. el mes i nnnn un comptador seqüencial sense ruptura i sense permanència a 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Estableix la data de finalització de la línia de serveis amb la AutoFillDateToShort=Estableix la data de finalització MaxNumberOfGenerationReached=Nombre màxim de gen. arribat BILL_DELETEInDolibarr=Factura esborrada +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ca_ES/blockedlog.lang b/htdocs/langs/ca_ES/blockedlog.lang index 0a991ede0cf..2d1baa823d7 100644 --- a/htdocs/langs/ca_ES/blockedlog.lang +++ b/htdocs/langs/ca_ES/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Registres inalterables ShowAllFingerPrintsMightBeTooLong=Mostra tots els registres arxivats (pot ser llarg) ShowAllFingerPrintsErrorsMightBeTooLong=Mostra tots els registres d'arxiu no vàlids (pot ser llarg) DownloadBlockChain=Baixa les empremtes dactilars -KoCheckFingerprintValidity=L'entrada de registre arxivada no és vàlida. Significa que algú (un hacker?) Ha modificat algunes dades d'aquest re després de la seva gravació, o ha esborrat el registre arxivat anterior (comprova que existeix la línia anterior). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=El registre del registre arxivat és vàlid. Les dades d'aquesta línia no s'han modificat i l'entrada segueix l'anterior. OkCheckFingerprintValidityButChainIsKo=El registre arxivat sembla ser vàlid en comparació amb l'anterior, però la cadena s'ha corromput prèviament. AddedByAuthority=Emmagatzemat a l'autoritat remota diff --git a/htdocs/langs/ca_ES/cashdesk.lang b/htdocs/langs/ca_ES/cashdesk.lang index 369f180c048..f6dfbd865dc 100644 --- a/htdocs/langs/ca_ES/cashdesk.lang +++ b/htdocs/langs/ca_ES/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Afegeix aquest article RestartSelling=Reprendre la venda SellFinished=Venda acabada PrintTicket=Imprimir +SendTicket=Send ticket NoProductFound=Cap article trobat ProductFound=Producte trobat NoArticle=Cap article @@ -48,6 +49,7 @@ Footer=Peu de pàgina AmountAtEndOfPeriod=Import al final del període (dia, mes o any) TheoricalAmount=Import teòric RealAmount=Import real +CashFence=Cash fence CashFenceDone=Tancament de caixa realitzat pel període NbOfInvoices=Nº de factures Paymentnumpad=Tipus de pad per introduir el pagament @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS necessita que les categories de productes funcion OrderNotes=Notes de comanda CashDeskBankAccountFor=Compte predeterminat a utilitzar per als pagaments NoPaimementModesDefined=No hi ha cap mode de pagament definit a la configuració de TakePOS -TicketVatGrouped=IVA per grups als tiquets -AutoPrintTickets=Imprimeix automàticament els tiquets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Habiliteu funcions per a bar o restaurant ConfirmDeletionOfThisPOSSale=Confirmeu la supressió de la venda actual? ConfirmDiscardOfThisPOSSale=Voleu descartar aquesta venda actual? @@ -87,7 +90,19 @@ HeadBar=Barra de capçalera SortProductField=Camp per ordenar productes Browser=Navegador BrowserMethodDescription=Impressió de rebuts senzilla i senzilla. Només uns quants paràmetres per configurar el rebut. Imprimeix a través del navegador. -TakeposConnectorMethodDescription=Mòdul extern amb funcions addicionals. Possibilitat d'imprimir des de núvol. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Mètode d'impressió ReceiptPrinterMethodDescription=Mètode potent amb molts paràmetres. Completament personalitzable amb plantilles. No es pot imprimir des del núvol. -ByTerminal=By terminal +ByTerminal=Per terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Inicia una nova venda paral·lela +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Informe d'efectiu +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ca_ES/companies.lang b/htdocs/langs/ca_ES/companies.lang index 2cd312297d8..223d1aa37e4 100644 --- a/htdocs/langs/ca_ES/companies.lang +++ b/htdocs/langs/ca_ES/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=L'empresa "%s" ha estat eliminada ListOfContacts=Llistat de contactes ListOfContactsAddresses=Llistat de contactes ListOfThirdParties=Llista de tercers -ShowCompany=Mostra el tercer ShowContact=Mostrar contacte ContactsAllShort=Tots (sense filtre) ContactType=Tipus de contacte @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Nom de l'agent comercial SaleRepresentativeLastname=Cognoms de l'agent comercial ErrorThirdpartiesMerge=S'ha produït un error en suprimir els tercers. Verifiqueu el registre. S'han revertit els canvis. NewCustomerSupplierCodeProposed=El codi de client o proveïdor ja utilitzat, es suggereix un codi nou +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Tipus de pagament - Client PaymentTermsCustomer=Condicions de pagament - Client diff --git a/htdocs/langs/ca_ES/compta.lang b/htdocs/langs/ca_ES/compta.lang index c74186ba10c..6cb0f6b1b98 100644 --- a/htdocs/langs/ca_ES/compta.lang +++ b/htdocs/langs/ca_ES/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Veure %sl'anàlisi de pagaments %s per a un càlcul d SeeReportInDueDebtMode=Veure l'informe %sanàlisi de factures%s per a un càlcul basat en factures registrades conegudes encara que encara no s'hagin comptabilitzat en el Llibre Major. SeeReportInBookkeepingMode=Veure %sl'informe%s per a un càlcul a Taula de Llibre Major RulesAmountWithTaxIncluded=- Els imports mostrats són amb tots els impostos inclosos. -RulesResultDue=- Inclou les factures pendents, despeses, IVA, donacions estiguen o no pagades. També s'inclou salaris pagats.
    - Es basa en la data de la validació de les factures i l'IVA i en la data de venciment per a despeses. Per salaris definits amb el mòdul de Salari, s'utilitza la data de valor del pagament. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Inclou els pagaments reals realitzats en les factures, les despeses, l'IVA i els salaris.
    - Es basa en les dates de pagament de les factures, les despeses, l'IVA i els salaris. La data de la donació per a la donació. -RulesCADue=- Inclou les factures degudes del client estiguin pagades o no.
    - Es basa en la data de la validació d'aquestes factures.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Inclou tots els pagaments efectius de factures rebuts dels clients.
    - Es basa en la data de pagament d'aquestes factures
    RulesCATotalSaleJournal=Inclou totes les línies de crèdit del Diari de venda. RulesAmountOnInOutBookkeepingRecord=Inclou un registre al vostre Llibre Major amb comptes comptables que tenen el grup "DESPESA" o "INGRÉS" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Facturació facturada pel tipus d'impost sobre la venda TurnoverCollectedbyVatrate=Facturació recaptada pel tipus d'impost sobre la venda PurchasebyVatrate=Compra per l'impost sobre vendes LabelToShow=Etiqueta curta +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index 02a35eb9659..fc5e083a365 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Arxiu no rebut íntegrament pel servidor. ErrorNoTmpDir=Directori temporal de recepció %s inexistent ErrorUploadBlockedByAddon=Pujada bloquejada per un plugin PHP/Apache. ErrorFileSizeTooLarge=La mida del fitxer és massa gran. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Longitud del camp massa llarg per al tipus int (màxim %s xifres) ErrorSizeTooLongForVarcharType=Longitud del camp massa llarg per al tipus cadena (màxim %s xifres) ErrorNoValueForSelectType=Els valors de la llista han de ser indicats @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, l’idioma de la pàgina ErrorBatchNoFoundForProductInWarehouse=No s'ha trobat lot / sèrie per al producte "%s" al magatzem "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No hi ha quantitat suficient per a aquest lot / sèrie per al producte "%s" al magatzem "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=El paràmetre PHP upload_max_filesize (%s) és superior al paràmetre PHP post_max_size (%s). No es tracta d’una configuració consistent. WarningPasswordSetWithNoAccount=S'ha indicat una contrasenya per aquest soci. En canvi, no s'ha creat cap compte d'usuari, de manera que aquesta contrasenya s'ha desat però no pot ser utilitzada per entrar a Dolibarr. Es pot utilitzar per un mòdul/interfície extern, però si no cal definir cap usuari i contrasenya per un soci, pots deshabilitar la opció "Gestiona l'entrada per tots els socis" des de la configuració del mòdul Socis. Si necessites gestionar una entrada sense contrasenya, pots mantenir aquest camp buit i permetre aquest avís. Nota: El correu electrònic es pot utilitzar per entrar si el soci està enllaçat a un usuarí diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index bc315d5b8b6..8a74e406fb7 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Aquest PHP suporta Curl. PHPSupportCalendar=Aquest PHP admet extensions de calendaris. PHPSupportUTF8=Aquest PHP és compatible amb les funcions UTF8. PHPSupportIntl=Aquest PHP admet funcions Intl. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Aquest PHP admet les funcions %s. PHPMemoryOK=La seva memòria màxima de sessió PHP està definida a %s. Això hauria de ser suficient. PHPMemoryTooLow=La seva memòria màxima de sessió PHP està definida a %s bytes. Això és molt poc. Es recomana modificar el paràmetre memory_limit del seu arxiu php.ini a almenys %s octets. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=La teva instal·lació PHP no soporta Curl. ErrorPHPDoesNotSupportCalendar=La vostra instal·lació de PHP no admet extensions de calendari php. ErrorPHPDoesNotSupportUTF8=Aquest PHP no suporta les funcions UTF8. Resolgui el problema abans d'instal lar Dolibarr ja que no funcionarà correctamete. ErrorPHPDoesNotSupportIntl=La vostra instal·lació de PHP no admet funcions Intl. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=La teva instal·lació PHP no admet funcions %s. ErrorDirDoesNotExists=La carpeta %s no existeix o no és accessible. ErrorGoBackAndCorrectParameters=Torneu enrere i verifiqueu / corregiu els paràmetres. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=L'aplicació ha intentat actualitzar-se automàti YouTryInstallDisabledByFileLock=L'aplicació s'ha intentat actualitzar automàticament, però les pàgines d'instal·lació / actualització s'han desactivat per a la seguretat (per l'existència d'un fitxer de bloqueig install.lock al directori de documents del dolibarr).
    ClickHereToGoToApp=Fes clic aquí per anar a la teva aplicació ClickOnLinkOrRemoveManualy=Feu clic al següent enllaç. Si sempre veieu aquesta mateixa pàgina, heu d'eliminar / canviar el nom del fitxer install.lock al directori de documents. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ca_ES/link.lang b/htdocs/langs/ca_ES/link.lang index d385261415b..60bb39b3786 100644 --- a/htdocs/langs/ca_ES/link.lang +++ b/htdocs/langs/ca_ES/link.lang @@ -8,3 +8,4 @@ LinkRemoved=L'enllaç %s s'ha eliminat ErrorFailedToDeleteLink= Error en eliminar l'enllaç '%s' ErrorFailedToUpdateLink= Error en actualitzar l'enllaç '%s' URLToLink=URL a enllaçar +OverwriteIfExists=Sobreescriu el fitxer si existeix diff --git a/htdocs/langs/ca_ES/mails.lang b/htdocs/langs/ca_ES/mails.lang index 3a70554297a..33c56156b38 100644 --- a/htdocs/langs/ca_ES/mails.lang +++ b/htdocs/langs/ca_ES/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No s'han trobat contactes/adreces amb categoria NoContactLinkedToThirdpartieWithCategoryFound=No s'han trobat contactes/adreces amb categoria OutGoingEmailSetup=Configuració de correus electrònics sortints InGoingEmailSetup=Configuració de correus electrònics entrants -OutGoingEmailSetupForEmailing=Configuració del correu electrònic sortint (per enviament de correus massiu) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Configuració per defecte del correu electrònic sortint Information=Informació ContactsWithThirdpartyFilter=Contactes amb filtre de tercers diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index 8448d1b9644..c28f8eb03eb 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Desa i continua SaveAndNew=Guardar i nou TestConnection=Provar la connexió ToClone=Copiar +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Trieu les dades que voleu clonar: NoCloneOptionsSpecified=no hi ha dades definits per copiar Of=de @@ -829,6 +830,8 @@ Gender=Sexe Genderman=Home Genderwoman=Dona ViewList=Vista llistat +ViewGantt=Vista Gantt +ViewKanban=Vista de Kanban Mandatory=Obligatori Hello=Hola GoodBye=A reveure @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Seleccioneu les opcions gràfiques per crear un grà Measures=Mesures XAxis=Eix X YAxis=Eix Y +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirma l'eliminació del fitxer +DeleteFileText=Realment vols suprimir aquest fitxer? diff --git a/htdocs/langs/ca_ES/mrp.lang b/htdocs/langs/ca_ES/mrp.lang index 5b4b70f6c37..0e92fda2b8e 100644 --- a/htdocs/langs/ca_ES/mrp.lang +++ b/htdocs/langs/ca_ES/mrp.lang @@ -71,3 +71,5 @@ ProductQtyToProduceByMO=Quantitat de producte que encara es pot produir mitjanç AddNewConsumeLines=Afegiu una nova línia per consumir ProductsToConsume=Productes a consumir ProductsToProduce=Productes a produir +UnitCost=Cost unitari +TotalCost=Cost total diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index 7c3f75f91b8..fdbcc544fdb 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=Correu electrònic OrderByWWW=En línia OrderByPhone=Telèfon # Documents models -PDFEinsteinDescription=Un model complet de comanda (antiga implementació de la plantilla d'Eratosthene) +PDFEinsteinDescription=Un model complet de comanda PDFEratostheneDescription=Un model complet de comanda PDFEdisonDescription=Model de comanda simple PDFProformaDescription=Una plantilla completa de factura Proforma diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index dec9c733127..b98360624ba 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Actualment només és possible 1 camp com a Eix X. Només s’ha seleccionat el primer camp seleccionat. AtLeastOneMeasureIsRequired=Almenys 1 camp per a la mesura és obligatori AtLeastOneXAxisIsRequired=Almenys 1 camp per a l'Eix X és obligatori - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Ordre de venda validat Notify_ORDER_SENTBYMAIL=Ordre de venda enviat per correu Notify_ORDER_SUPPLIER_SENTBYMAIL=Ordre de compra enviat per correu electrònic @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL de pàgina WEBSITE_TITLE=Títol WEBSITE_DESCRIPTION=Descripció WEBSITE_IMAGE=Imatge -WEBSITE_IMAGEDesc=Camí relatiu dels mitjans d'imatge. Podeu mantenir aquest buit perquè no s'usa gaire (el contingut dinàmic pot utilitzar-se per mostrar una vista prèvia d'una llista de publicacions de bloc). +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Paraules clau LinesToImport=Línies per importar diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index 2832d002fa0..c184a1f0292 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Aquesta eina actualitza el tipus d'IVA establert a MassBarcodeInit=Inicialització massiu de codis de barres MassBarcodeInitDesc=Pot utilitzar aquesta pàgina per inicialitzar el codi de barres en els objectes que no tenen un codi de barres definit. Comprovi abans que el mòdul de codis de barres estar ben configurat ProductAccountancyBuyCode=Codi comptable (compra) +ProductAccountancyBuyIntraCode=Codi comptable (compra intracomunitària) +ProductAccountancyBuyExportCode=Codi comptable (compra d'importació) ProductAccountancySellCode=Codi comptable (venda) ProductAccountancySellIntraCode=Codi de comptabilitat (venda intracomunitària) ProductAccountancySellExportCode=Codi comptable (exportació de venda) @@ -165,7 +167,7 @@ SuppliersPrices=Preus del proveïdor SuppliersPricesOfProductsOrServices=Preus del venedor (de productes o serveis) CustomCode=Duana / mercaderia / codi HS CountryOrigin=País d'origen -Nature=Naturalesa del producte (material / acabat) +Nature=Naturalesa del producte (material/acabat) ShortLabel=Etiqueta curta Unit=Unitat p=u. diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index a7e67fb92bc..906e3a6f5e4 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=que estic vinculat al projecte Time=Temps ListOfTasks=Llistat de tasques GoToListOfTimeConsumed=Ves al llistat de temps consumit -GoToListOfTasks=Mostra com a llista -GoToGanttView=mostra com Gantt GanttView=Vista de Gantt ListProposalsAssociatedProject=Llista de propostes comercials relacionades amb el projecte ListOrdersAssociatedProject=Llista de comandes de vendes relacionades amb el projecte @@ -188,7 +186,7 @@ PlannedWorkload=Càrrega de treball prevista PlannedWorkloadShort=Càrrega de treball ProjectReferers=Registres relacionats ProjectMustBeValidatedFirst=El projecte primer ha de ser validat -FirstAddRessourceToAllocateTime=Associa un recurs d'usuari per reservar el temps de la tasca +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Entrada per dia InputPerWeek=Entrada per setmana InputPerMonth=Entrada per mes @@ -240,6 +238,7 @@ LatestModifiedProjects=Darrers %s projectes modificats OtherFilteredTasks=Altres tasques filtrades NoAssignedTasks=No es troben tasques assignades (assigni el projecte/tasques a l'usuari actual des del quadre de selecció superior per especificar-ne l'hora) ThirdPartyRequiredToGenerateInvoice=S'ha de definir un tercer en el projecte per poder facturar-lo. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Permet comentaris dels usuaris a les tasques AllowCommentOnProject=Permetre comentaris dels usuaris als projectes @@ -265,3 +264,4 @@ InvoiceToUse=Esborrany de factura a utilitzar NewInvoice=Nova factura OneLinePerTask=Una línia per tasca OneLinePerPeriod=Una línia per període +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ca_ES/propal.lang b/htdocs/langs/ca_ES/propal.lang index 26e2cef2915..899f1354d94 100644 --- a/htdocs/langs/ca_ES/propal.lang +++ b/htdocs/langs/ca_ES/propal.lang @@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Contacte client de facturació pressupost TypeContact_propal_external_CUSTOMER=Contacte client seguiment pressupost TypeContact_propal_external_SHIPPING=Contacte del client pel lliurament # Document models -DocModelAzurDescription=Un model complet de pressupost (antiga implementació de la plantilla Cyan) +DocModelAzurDescription=Un model complet de pressupost DocModelCyanDescription=Un model de pressupost complet DefaultModelPropalCreate=Model per defecte DefaultModelPropalToBill=Model per defecte en tancar un pressupost (a facturar) diff --git a/htdocs/langs/ca_ES/receiptprinter.lang b/htdocs/langs/ca_ES/receiptprinter.lang index d2a7476dbab..020308cba2b 100644 --- a/htdocs/langs/ca_ES/receiptprinter.lang +++ b/htdocs/langs/ca_ES/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Impressora de proves CONNECTOR_NETWORK_PRINT=Impresora en xarxa CONNECTOR_FILE_PRINT=Impressora local CONNECTOR_WINDOWS_PRINT=Impressora local en Windows +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Impresora de proves, no fa res CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Perfil per defecte PROFILE_SIMPLE=Perfil simpre PROFILE_EPOSTEP=Perfil Epos Tep @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Mes de factura en lletres DOL_VALUE_MONTH=Mes de factura DOL_VALUE_DAY=Dia de la factura DOL_VALUE_DAY_LETTERS=Dia de factura en lletres +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Ref. factura +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Nom del client +DOL_VALUE_CUSTOMER_LASTNAME=Cognom del client +DOL_VALUE_CUSTOMER_MAIL=Correu del client +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Mòbil del client +DOL_VALUE_CUSTOMER_SKYPE=Skype del client +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=El nom de l'empresa +DOL_VALUE_MYSOC_ADDRESS=La teva adreça d’empresa +DOL_VALUE_MYSOC_ZIP=El teu codi postal +DOL_VALUE_MYSOC_TOWN=La teva ciutat +DOL_VALUE_MYSOC_COUNTRY=El teu país +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=ID IVA intracomunitari +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Cognom del venedor +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ca_ES/stripe.lang b/htdocs/langs/ca_ES/stripe.lang index 3e141657411..5b2c35e1295 100644 --- a/htdocs/langs/ca_ES/stripe.lang +++ b/htdocs/langs/ca_ES/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nom del venedor CSSUrlForPaymentForm=Url del full d'estil CSS per al formulari de pagament NewStripePaymentReceived=S'ha rebut un nou pagament de Stripe NewStripePaymentFailed=S'ha intentat el pagament de Stripe però, ha fallat +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Clau secreta de test STRIPE_TEST_PUBLISHABLE_KEY=Clau de test publicable STRIPE_TEST_WEBHOOK_KEY=Clau de prova de Webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Enllaç a la configuració de Stripe WebHook per truc ToOfferALinkForLiveWebhook=Enllaç a la configuració de Stripe WebHook per trucar a l’IPN (mode en directe) PaymentWillBeRecordedForNextPeriod=El pagament es registrarà per al període següent. ClickHereToTryAgain=Feu clic aquí per tornar-ho a provar ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Degut a les regles d’autenticatització del client, la creació d’una targeta s’ha de fer des del backoffice Stripe. Podeu fer clic aquí per activar el registre de clients de Stripe: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ca_ES/ticket.lang b/htdocs/langs/ca_ES/ticket.lang index 6aaa092a6e5..a623ab8a9cd 100644 --- a/htdocs/langs/ca_ES/ticket.lang +++ b/htdocs/langs/ca_ES/ticket.lang @@ -133,7 +133,7 @@ TicketsDisableCustomerEmail=Desactiveu sempre els correus electrònics quan es c # # Index & list page # -TicketsIndex=Tiquet - inici +TicketsIndex=Àrea de tiquets TicketList=Llista de tiquets TicketAssignedToMeInfos=Aquesta pàgina mostra la llista de butlletes creada per o assignada a l'usuari actual NoTicketsFound=Tiquet no trobat diff --git a/htdocs/langs/ca_ES/users.lang b/htdocs/langs/ca_ES/users.lang index c71ee023a2d..33457aff18a 100644 --- a/htdocs/langs/ca_ES/users.lang +++ b/htdocs/langs/ca_ES/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Usuaris i les seves propietats DomainUser=Usuari de domini Reactivate=Reactivar CreateInternalUserDesc=Aquest formulari us permet crear un usuari intern a la vostra empresa / organització. Per crear un usuari extern (client, proveïdor, etc.), utilitzeu el botó 'Crear usuari Dolibarr' de la targeta de contacte d'un tercer. -InternalExternalDesc=Un usuari intern és un usuari que forma part de la seva empresa o organització.
    Un usuari extern és un client, proveïdor o altre.

    En ambdós casos, els permisos defineixen drets sobre Dolibarr, també l'usuari extern pot tenir un gestor de menú diferent que l'usuari intern (vegeu Inici - Configuració - Visualització) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=El permís es concedeix ja que ho hereta d'un grup al qual pertany l'usuari. Inherited=Heretat UserWillBeInternalUser=L'usuari creat serà un usuari intern (ja que no està lligat a un tercer en particular) @@ -113,3 +113,5 @@ CantDisableYourself=No podeu desactivar el vostre propi registre d'usuari ForceUserExpenseValidator=Validador de l'informe de despeses obligatori ForceUserHolidayValidator=Forçar validador de sol·licitud d'abandonament ValidatorIsSupervisorByDefault=Per defecte, el validador és el supervisor de l’usuari. Deixar buit per mantenir aquest comportament. +UserPersonalEmail=Correu electrònic personal +UserPersonalMobile=Telèfon mòbil personal diff --git a/htdocs/langs/ca_ES/website.lang b/htdocs/langs/ca_ES/website.lang index c487d4bb9c9..95f7f8fff4d 100644 --- a/htdocs/langs/ca_ES/website.lang +++ b/htdocs/langs/ca_ES/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Mostra la pàgina en una nova pestanya SetAsHomePage=Indica com a Pàgina principal RealURL=URL real ViewWebsiteInProduction=Mostra la pàgina web utilitzant les URLs d'inici -SetHereVirtualHost= Ús amb Apache / NGinx / ...
    Si podeu crear, en el vostre servidor web (Apache, Nginx, ...), un host virtual dedicat amb PHP habilitat i un directori Root a
    %s
    i, a continuació, estableixi el nom de l'amfitrió virtual que heu creat a les propietats del lloc web, de manera que la previsualització es pot fer també usant aquest accés dedicat al servidor web en lloc del Dolibarr intern servidor. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS= Utilitzeu-lo amb el servidor incrustat de PHP
    Al desenvolupar l'entorn, és possible que preferiu provar el lloc amb el servidor web incrustat de PHP (requereix PHP 5.5) executant
    php -S 0.0. 0.0: 8080 -t %s YouCanAlsoDeployToAnotherWHP=Executeu el vostre lloc web amb un altre proveïdor de hosting de Dolibarr
    Si no teniu disponible un servidor web com Apache o NGinx a Internet, podeu exportar i importar el vostre lloc web a una altra instància de Dolibarr proporcionada per un altre proveïdor d'allotjament de Dolibarr que ofereixi una integració completa amb el mòdul del lloc web. Podeu trobar una llista d'alguns proveïdors d'allotjament Dolibarr a https://saas.dolibarr.org CheckVirtualHostPerms=Comproveu també que l'amfitrió virtual té permisos %s en fitxers a %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Ho sentim, actualment aquest lloc web està fora WEBSITE_USE_WEBSITE_ACCOUNTS=Activa la taula del compte del lloc web WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Activeu la taula per emmagatzemar comptes del lloc web (login/contrasenya) per a cada lloc web de tercers YouMustDefineTheHomePage=Primer heu de definir la pàgina d'inici predeterminada -OnlyEditionOfSourceForGrabbedContentFuture=Advertència: crear una pàgina web mitjançant la importació d'una pàgina web externa està reservada als usuaris experimentats. Depenent de la complexitat de la pàgina d'origen, el resultat de la importació pot diferir de l'original. A més, si la pàgina d'origen utilitza estils CSS comuns o javascript en conflicte, pot trencar l'aspecte o les característiques de l'editor del lloc web quan es treballa en aquesta pàgina. Aquest mètode és una forma més ràpida de crear una pàgina, però es recomana crear la nova pàgina des de zero o des d'una plantilla de pàgina suggerida.
    Recordeu també que les modificacions de l'origen HTML seran possibles quan el contingut de la pàgina s'hagi iniciat agafant-lo des d'una pàgina externa (l'editor "Online" NO estarà disponible) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Només l'edició de codi HTML és possible quan el contingut s'ha capturat d'un lloc extern GrabImagesInto=Agafa també imatges trobades dins del css i a la pàgina. ImagesShouldBeSavedInto=Les imatges s'han de desar al directori @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Per seguir bones pràctiques de SEO, utilitzeu un text MainLanguage=Idioma principal OtherLanguages=Altres idiomes UseManifest=Proporciona un fitxer manifest.json +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index aa95438270a..166b9aaaaf3 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Poznámka: vaše konfigurace PHP momentálně o NoMaxSizeByPHPLimit=Poznámka: Ve Vaší PHP konfiguraci není nastaven limit MaxSizeForUploadedFiles=Maximální velikost nahrávaných souborů (0 pro zablokování nahrávání) UseCaptchaCode=Použít grafický kód (CAPTCHA) na přihlašovací stránce -AntiVirusCommand= Úplná cesta k antivirovému souboru -AntiVirusCommandExample= Příklad pro ClamWin: C: \\ PROGRA ~ 1 \\ ClamWin \\ bin \\ clamscan.exe
    Příklad pro ClamAV: / usr / bin / clamscan +AntiVirusCommand=Úplná cesta k antivirovému souboru +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Další parametry příkazového řádku -AntiVirusParamExample= Příklad ClamWin: - databáze = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Nastavení účetního modulu UserSetup=Nastavení správy uživatelů MultiCurrencySetup=Nastavení více měn @@ -149,7 +149,7 @@ SystemToolsAreaDesc=Tato oblast poskytuje uživatelských funkcí. Pomocí nabí Purge=Očistit PurgeAreaDesc=Tato stránka umožňuje odstranit všechny soubory generované nebo uložené v Dolibarr (dočasné soubory nebo všechny soubory v adresáři %s ). Použití této funkce není obvykle nutné. Je poskytována jako řešení pro uživatele, jejichž Dolibarr hostuje poskytovatel, který nenabízí oprávnění k odstranění souborů generovaných webovým serverem. PurgeDeleteLogFile=Odstranit soubory protokolu, včetně %s definované pro modul Syslog (bez rizika ztráty dat) -PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data). Note: Deletion is done only if the temp directory was created 24 hours ago. +PurgeDeleteTemporaryFiles=Odstraňte všechny dočasné soubory (bez rizika ztráty dat). Poznámka: Odstranění se provede pouze v případě, že dočasný adresář byl vytvořen před 24 hodinami. PurgeDeleteTemporaryFilesShort=Odstranit dočasné soubory PurgeDeleteAllFilesInDocumentsDir=Odstranit všechny soubory v adresáři: %s .
    Tímto odstraníte všechny generované dokumenty související s prvky (subjekty, faktury atd.), Soubory nahrané do modulu ECM, zálohování databází a dočasné soubory. PurgeRunNow=Vyčistit nyní @@ -178,8 +178,8 @@ Compression=Komprese CommandsToDisableForeignKeysForImport=Příkaz pro zákaz cizích klíču při importu CommandsToDisableForeignKeysForImportWarning=Povinné, pokud chcete být schopni obnovit SQL dump později ExportCompatibility=Kompatibilita vytvořeného souboru exportu -ExportUseMySQLQuickParameter=Use the --quick parameter -ExportUseMySQLQuickParameterHelp=The '--quick' parameter helps limit RAM consumption for large tables. +ExportUseMySQLQuickParameter=Použijte --rychlý parametr +ExportUseMySQLQuickParameterHelp=Parametr '- quick' pomáhá omezit spotřebu RAM u velkých tabulek. MySqlExportParameters=MySQL parametry exportu PostgreSqlExportParameters= PostgreSQL parametry exportu UseTransactionnalMode=Použití transakční režim @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funkce zakázána v demu FeatureAvailableOnlyOnStable=Funkce je k dispozici pouze v oficiálních stabilních verzích BoxesDesc=Widgety jsou oblasti obrazovky, které ukazují krátké informace na některých stránkách. Můžete si vybrat mezi zobrazením/schováním boxu zvolením cílové stránky a kliknutím na 'Aktivovat' nebo kliknutím na popelnici ji zakázat. OnlyActiveElementsAreShown=Pouze prvky z povolených modulů jsou uvedeny. -ModulesDesc=Moduly / aplikace určují, které funkce jsou v softwaru k dispozici. Některé moduly vyžadují oprávnění, která mají být udělena uživatelům po aktivaci modulu. Klepnutím na tlačítko zapnuto / vypnuto (na konci linky modulu) aktivujete / deaktivujete modul / aplikaci. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Více modulů naleznete ke stažení na externích webových stránkách ... ModulesDeployDesc=Pokud to umožňují oprávnění vašeho souborového systému, můžete pomocí tohoto nástroje nasadit externí modul. Modul bude potom viditelný na kartě %s . ModulesMarketPlaces=Najděte externí aplikaci / moduly @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatibilní s verzí %s NotCompatible=Tento modul se nezdá být kompatibilní s Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Tento modul vyžaduje aktualizaci souboru Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Podívejte se na trh +SeeSetupOfModule=Viz nastavení modulu %s Updated=Aktualizováno Nouveauté=Novinka AchatTelechargement=Koupit / stáhnout @@ -221,6 +222,7 @@ DoliPartnersDesc=Seznam firem, které poskytují vlastní moduly nebo funkce. %s) MAIN_MAIL_SMTP_SERVER=SMTP / SMTPS Host (Výchozí nastavení v php.ini: %s) MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP / SMTPS Port (Nedefinováno v PHP na Unixových systémech) @@ -280,7 +282,7 @@ MAIN_MAIL_ERRORS_TO=E-mail, který se používá pro hlášení chyb, vrací e-m MAIN_MAIL_AUTOCOPY_TO= Kopírovat (Bcc) všechny odeslané e-maily MAIN_DISABLE_ALL_MAILS=Zakázat veškeré odesílání e-mailů (pro testovací účely nebo ukázky) MAIN_MAIL_FORCE_SENDTO=Pošlete všechny e-maily do (namísto skutečných příjemců pro testovací účely) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Při psaní nového e-mailu navrhujte e-maily zaměstnanců (pokud jsou definováni) do seznamu předdefinovaných příjemců MAIN_MAIL_SENDMODE=Metoda odesílání e-mailů MAIN_MAIL_SMTPS_ID=ID SMTP (pokud odesílající server vyžaduje ověření) MAIN_MAIL_SMTPS_PW=Heslo SMTP (pokud server pro odesílání vyžaduje ověření) @@ -328,7 +330,7 @@ SetupIsReadyForUse=Zavedení modulu je dokončeno. Musíte však povolit a nasta NotExistsDirect=Alternativní kořenový adresář není definován.
    InfDirAlt=Od verze 3 je možné definovat alternativní kořenovou složku. To umožňuje ukládat na stejné místo plug-iny a vlastní šablony.
    Stačí vytvořit adresář v kořenovém adresáři Dolibarr (např.: custom).
    InfDirExample= 
    Pak deklarujte v souboru conf.php
    $ dolibarr_main_url_root_alt = '/ custom'
    $ dolibarr_main_document_root_alt = '/ cesta / z / dolibarr / htdocs / custom'
    Pokud jsou tyto řádky komentovány "#" , stačí odkomentovat odstraněním znaku "#". -YouCanSubmitFile=You can upload the .zip file of module package from here: +YouCanSubmitFile=Zde můžete nahrát soubor .zip balíčku modulů: CurrentVersion=Dolibarr aktuální verze CallUpdatePage=Projděte stránku, která aktualizuje databázovou strukturu a data: %s. LastStableVersion=Poslední stabilní verze @@ -403,7 +405,7 @@ OldVATRates=Staré Sazba DPH NewVATRates=Nová sazba DPH PriceBaseTypeToChange=Změňte ceny podle základní referenční hodnoty definované na MassConvert=Spusťte hromadnou konverzi -PriceFormatInCurrentLanguage=Price Format In Current Language +PriceFormatInCurrentLanguage=Formát ceny v aktuálním jazyce String=Řetěz TextLong=Dlouhý text HtmlText=Html text @@ -426,8 +428,8 @@ ExtrafieldCheckBoxFromList=Zaškrtávací políčka z tabulky ExtrafieldLink=Odkaz na objekt ComputedFormula=Vypočtené pole ComputedFormulaDesc=Zde můžete zadat vzorec pomocí jiných vlastností objektu nebo libovolného kódování PHP pro získání dynamické vypočtené hodnoty. Můžete použít libovolné kompatibilní formule PHP včetně "?" operátor stavu a následující globální objekt: $ db, $ conf, $ langs, $ mysoc, $ user, $ objekt .
    VAROVÁNÍ : K dispozici jsou pouze některé vlastnosti objektu $. Pokud potřebujete vlastnosti, které nejsou načteny, jednoduše přiveďte objekt do vzorce, jako ve druhém příkladu.
    Použití vypočítaného pole znamená, že nemůžete zadat libovolnou hodnotu z rozhraní. Také pokud existuje syntaktická chyba, vzorec může vrátit nic.

    Příklad vzorce:
    $ object-> id < 10 ? round($object-> id / 2, 2): ($ objekt-> id + 2 * $ user-> id) * (int) substr ($ mysoc-> zip, 1, 2 )

    Příklad pro opětovné načtení objektu
    (($ reloadedobj = new Societe ($ db)) && ($ reloadedobj-> fetch ($ obj-> id? $ Obj-> id: > rowid: $ object-> id))> 0))? $ reloadedobj-> array_options ['options_extrafieldkey'] * $ reloadedobj-> capital / 5: '-1'

    Jiný příklad vzoru pro zatížení objektu a jeho nadřazeného objektu:
    ($ reloadedobj = new Task )) && ($ reloadedobj-> fetch ($ object-> id)> 0) && ($ secondloadedobj = nový projekt ($ db)) && ($ secondloadedobj-> fetch ($ reloadedobj-> fk_project)> 0))? $ secondloadedobj-> ref: 'Nadřazený projekt nebyl nalezen' -Computedpersistent=Store computed field -ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! +Computedpersistent=Uložte vypočítané pole +ComputedpersistentDesc=Vypočítaná další pole pole budou uložena do databáze, hodnota však bude přepočítána pouze při změně objektu tohoto pole. Pokud vypočítané pole závisí na jiných objektech nebo globálních datech, může být tato hodnota špatná !! ExtrafieldParamHelpPassword=Pokud ponecháte toto pole prázdné, znamená to, že tato hodnota bude uložena bez šifrování (pole musí být skryto pouze s hvězdou na obrazovce).
    Nastavte "auto" pro použití výchozího šifrovacího pravidla pro uložení hesla do databáze (pak hodnota bude číst pouze hash, žádný způsob získání původní hodnoty) ExtrafieldParamHelpselect=Seznam hodnot musí být řádky s formátovým klíčem, hodnota (kde klíč nemůže být '0')

    například:
    1, value1
    2, value2
    code3, value3
    ...

    seznam v závislosti na dalším doplňkovém seznamu atributů:
    1, value1 | options_ parent_list_code : parent_key
    2, value2 | options_ parent_list_code : parent_key

    Chcete-li mít seznam v závislosti na jiném seznamu:
    1, hodnota1 | parent_list_code : parent_key
    2, hodnota2 | parent_list_code : parent_key ExtrafieldParamHelpcheckbox=Seznam hodnot musí být řádky s formátovým klíčem, hodnota (kde klíč nemůže být '0')

    například:
    1, value1
    2, value2
    3, value3
    ... @@ -435,7 +437,7 @@ ExtrafieldParamHelpradio=Seznam hodnot musí být řádky s formátovým klíče ExtrafieldParamHelpsellist=Seznam hodnot pochází z tabulky
    Syntaxe: table_name: label_field: id_field :: filter
    Příklad: c_typent: libelle: id :: filter

    - idfilter je nutně primární int klíč
    - filtr může být jednoduchý test = 1) pro zobrazení pouze aktivní hodnoty
    Můžete také použít $ ID $ ve filtru, který je aktuálním id aktuálního objektu
    Chcete-li provést SELECT ve filtru, použijte $ SEL $
    , pokud chcete filtrovat na extrafields použít syntaxi extra.fieldcode = ... (kde kód pole je kód extrafield)

    Aby byl seznam v závislosti na jiném seznamu doplňkových atributů:
    c_typent: libelle: id: options_ parent_list_code | parent_column: filter

    Aby bylo možné mít seznam v závislosti na jiném seznamu:
    c_typent: libelle: id: parent_list_code | parent_column: filtr ExtrafieldParamHelpchkbxlst=Seznam hodnot pochází z tabulky
    Syntaxe: table_name: label_field: id_field :: filter
    Příklad: c_typent: libelle: id :: filter

    filtr může být jednoduchý test (např. Aktivní = 1) pro zobrazení pouze aktivní hodnoty
    You může také použít $ ID $ ve filtru, který je aktuální id aktuálního objektu
    Chcete-li provést SELECT ve filtru, použijte $ SEL $
    , pokud chcete filtrovat na extrafields použijte syntaxi extra.fieldcode = ... (kde kód pole je code of extrafield)

    Aby byl seznam v závislosti na jiném seznamu doplňkových atributů:
    c_typent: libelle: id: options_ parent_list_code | parent_column: filter

    Aby byl seznam v závislosti na jiném seznamu:
    c_typent: libelle: id: parent_list_code | nadřazený sloupec: filtr ExtrafieldParamHelplink=Parametry musí být ObjectName: Classpath
    Syntaxe: Název_objektu: Classpath
    Příklady:
    Societe: societe / class / societe.class.php
    Kontakt: contact / class / contact.class.php -ExtrafieldParamHelpSeparator=Keep empty for a simple separator
    Set this to 1 for a collapsing separator (open by default for new session, then status is kept for each user session)
    Set this to 2 for a collapsing separator (collapsed by default for new session, then status is kept fore each user session) +ExtrafieldParamHelpSeparator=Ponechte prázdné pro jednoduchý oddělovač
    Tuto hodnotu nastavíte na 1 pro odlučovač (výchozí nastavení je otevřeno pro novou relaci, poté je stav zachován pro každou uživatelskou relaci)
    Nastavte tuto položku na 2 pro sbalující se oddělovač. (ve výchozím nastavení sbaleno pro novou relaci, pak je stav udržován pro každou relaci uživatele) LibraryToBuildPDF=Knihovna používaná pro generování PDF LocalTaxDesc=Některé země mohou uplatnit dvě nebo tři daně na každé čáře faktur. Pokud tomu tak je, vyberte typ druhého a třetího daně a jeho sazbu. Možné typy jsou:
    1: místní daň se vztahuje na produkty a služby bez DPH (platí se na základě daně bez daně)
    2: místní daň se vztahuje na produkty a služby, včetně DPH (0%) 3x342fccfda19b 3: místní daň se vztahuje na produkty bez DPH (místní taxa se vypočítává z částky bez daně)
    4: místní daň se vztahuje na produkty včetně DPH (místní taxa se vypočítává z částky + hlavní daň)
    5: Místní daň platí pro služby bez DPH z částky bez daně)
    6: Místní daň platí za služby včetně DPH (místní taxa se vypočítává z částky + daně) SMS=SMS @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Uchovávejte prázdnou pro použití výchozí hodnoty DefaultLink=Výchozí odkaz SetAsDefault=Nastavit jako výchozí ValueOverwrittenByUserSetup=Upozornění: tato hodnota může být přepsána uživatelsky specifickým nastavením (každý uživatel si může nastavit svoji vlastní adresu kliknutí) -ExternalModule=Externí modul - instalován do adresáře %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Masový čárový kód pro subjekty BarcodeInitForProductsOrServices=Masový čárový kód pro produkty nebo služby CurrentlyNWithoutBarCode=V současné době máte %s záznam na %s %s bez definice čárového kódu. @@ -465,14 +468,14 @@ EnableAndSetupModuleCron=Pokud chcete, aby tato opakovaná faktura byla automati ModuleCompanyCodeCustomerAquarium=%s, následovaný kódem zákazníka pro účetní kód zákazníka ModuleCompanyCodeSupplierAquarium=%s následovaný dodavatelem kód dodavatel kód účetnictví ModuleCompanyCodePanicum=Vrátit prázdný účetní kód. -ModuleCompanyCodeDigitaria=Returns a compound accounting code according to the name of the third party. The code consists of a prefix that can be defined in the first position followed by the number of characters defined in the third party code. -ModuleCompanyCodeCustomerDigitaria=%s followed by the truncated customer name by the number of characters: %s for the customer accounting code. -ModuleCompanyCodeSupplierDigitaria=%s followed by the truncated supplier name by the number of characters: %s for the supplier accounting code. +ModuleCompanyCodeDigitaria=Vrací složený účetní kód podle jména subjektu. Kód se skládá z předpony, která může být definována na první pozici, po které následuje počet znaků definovaných v kódu subjektu. +ModuleCompanyCodeCustomerDigitaria=%s následovaný zkráceným jménem zákazníka o počet znaků: %s pro kód účetnictví zákazníka. +ModuleCompanyCodeSupplierDigitaria=%s následované zkráceným jménem dodavatele podle počtu znaků: %s pro účetní kód dodavatele. Use3StepsApproval=Ve výchozím nastavení musí být nákupní objednávky vytvořeny a schváleny dvěma různými uživateli (jeden krok / uživatel k vytvoření a jeden krok / uživatel ke schválení. Všimněte si, že pokud má uživatel oprávnění k vytvoření a schválení, stačí jeden krok / uživatel) . Touto volbou můžete požádat o zavedení třetího schvalovacího kroku / schválení uživatele, pokud je částka vyšší než určená hodnota (potřebujete tedy 3 kroky: 1 = ověření, 2 = první schválení a 3 = druhé schválení, pokud je dostatečné množství).
    Pokud je zapotřebí jedno schvalování (2 kroky), nastavte jej na velmi malou hodnotu (0,1), pokud je vždy požadováno druhé schválení (3 kroky). UseDoubleApproval=Použijte schválení 3 kroky, kdy částka (bez DPH) je vyšší než ... WarningPHPMail=UPOZORNĚNÍ: Je často lepší nastavit odchozí e-maily, než použít výchozí nastavení poštovního serveru poskytovatele. Někteří poskytovatelé e-mailů (například Yahoo) vám neumožňují odeslat e-mail z jiného serveru, než je jejich vlastní server. Vaše současné nastavení používá server pro odesílání e-mailů a nikoli server vašeho poskytovatele e-mailu, takže někteří příjemci (ten, který je kompatibilní s omezujícím protokolem DMARC) požádá vašeho poskytovatele e-mailu, aby mohli přijmout váš e-mail a některé poskytovatele e-mailu (jako je Yahoo) může odpovědět "ne", protože server není jejich, takže nemnoho přijatých e-mailů nemůže být přijato (buďte opatrní také kvótou odesílatele vašeho e-mailu).
    Pokud má váš poskytovatel e-mailu (například Yahoo) toto omezení, musíte změnit nastavení e-mailu a zvolit druhou metodu "SMTP server" a zadat server SMTP a pověření poskytnuté poskytovatelem e-mailu. WarningPHPMail2=Pokud je váš poskytovatel e-mailových služeb SMTP povinen omezit e-mailový klient na některé adresy IP (velmi vzácné), jedná se o adresu IP agentu uživatele pošty (MUA) pro aplikaci ERP CRM: %s . -WarningPHPMailSPF=If the domain name in your sender email address is protected by SPF (ask you email provider), you must include the following IPs in the SPF record of the DNS of your domain: %s. +WarningPHPMailSPF=Pokud je název domény ve vaší e-mailové adrese odesílatele chráněn pomocí SPF (zeptejte se poskytovatele e-mailu), musíte do záznamu SPF DNS vaší domény zahrnout následující adresy IP: %s . ClickToShowDescription=Kliknutím zobrazíte popis DependsOn=Tento modul potřebuje modul (y) RequiredBy=Tento modul je vyžadován modulem (moduly) @@ -480,7 +483,7 @@ TheKeyIsTheNameOfHtmlField=Toto je název pole HTML. Technická znalost je potř PageUrlForDefaultValues=Musíte zadat relativní cestu URL stránky. Pokud do adresy URL zadáte parametry, budou výchozí hodnoty účinné, pokud budou všechny parametry nastaveny na stejnou hodnotu. PageUrlForDefaultValuesCreate= 
    Příklad:
    Formulář pro vytvoření nového subjektu je %s .
    Pro URL externích modulů nainstalovaných do vlastního adresáře nezahrnujte "vlastní /", tak použijte cestu jako mymodule / mypage.php a ne vlastní / mymodule / mypage.php.
    Pokud chcete výchozí hodnotu pouze v případě, že url má nějaký parametr, můžete použít %s PageUrlForDefaultValuesList= 
    Příklad:
    Pro stránku, která obsahuje subjekty, je %s .
    Pro adresy URL externích modulů nainstalovaných do vlastního adresáře nezahrnujte "vlastní", takže použijte cestu jako mymodule / mypagelist.php a ne vlastní / mymodule / mypagelist.php.
    Pokud chcete výchozí hodnotu pouze v případě, že url má nějaký parametr, můžete použít %s -AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) +AlsoDefaultValuesAreEffectiveForActionCreate=Také si všimněte, že přepsání výchozích hodnot pro vytváření formulářů funguje pouze pro stránky, které byly správně navrženy (takže s parametrem action = create or presend ...) EnableDefaultValues=Povolit přizpůsobení výchozích hodnot EnableOverwriteTranslation=Povolit použití přepsaného překladu GoIntoTranslationMenuToChangeThis=Překlad byl nalezen pro klíč s tímto kódem. Chcete-li tuto hodnotu změnit, musíte ji upravit z Home-Setup-translation. @@ -520,7 +523,7 @@ Module25Desc=Řízení prodeje objednávek Module30Name=Faktury Module30Desc=Řízení faktur a dobropisů pro zákazníky. Řízení faktur a dobropisů pro dodavatele Module40Name=Dodavatelé -Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) +Module40Desc=Prodejci a řízení nákupu (objednávky a fakturace dodavatelských faktur) Module42Name=Debug Logs Module42Desc=Zařízení pro protokolování (soubor, syslog, ...). Takové protokoly jsou určeny pro technické účely / ladění. Module49Name=Redakce @@ -530,7 +533,7 @@ Module50Desc=Řízení výrobků Module51Name=Hromadné e-maily Module51Desc=Hromadná správa pošty Module52Name=Zásoby -Module52Desc=Stock management +Module52Desc=Skladové hospodářství Module53Name=Služby Module53Desc=Řízení služeb Module54Name=Smlouvy/Objednávky @@ -545,8 +548,8 @@ Module58Name=ClickToDial Module58Desc=Integrace ClickToDial systému (Asterisk, ...) Module59Name=Bookmark4u Module59Desc=Přidat funkce pro generování Bookmark4u účet z účtu Dolibarr -Module60Name=Stickers -Module60Desc=Management of stickers +Module60Name=Samolepky +Module60Desc=Správa nálepek Module70Name=Intervence Module70Desc=Intervence řízení Module75Name=Nákladové a výlet poznámky @@ -564,9 +567,9 @@ Module200Desc=Synchronizace adresářů LDAP Module210Name=PostNuke Module210Desc=PostNuke integrace Module240Name=Exporty dat -Module240Desc=Tool to export Dolibarr data (with assistance) +Module240Desc=Nástroj pro export dat Dolibarr (s pomocí) Module250Name=Import dat -Module250Desc=Tool to import data into Dolibarr (with assistance) +Module250Desc=Nástroj pro import dat do Dolibarru (s pomocí) Module310Name=Členové Module310Desc=Nadace členové vedení Module320Name=RSS Feed @@ -583,7 +586,7 @@ Module510Name=Platy Module510Desc=Zaznamenejte a sledujte platby zaměstnanců Module520Name=Úvěry Module520Desc=Správa úvěrů -Module600Name=Notifications on business event +Module600Name=Oznámení o obchodní události Module600Desc=Odeslání e-mailových upozornění vyvolaných podnikovou událostí: na uživatele (nastavení definované pro každého uživatele), na kontakty třetích stran (nastavení definováno na každé třetí straně) nebo na konkrétní e-maily Module600Long=Všimněte si, že tento modul pošle e-maily v reálném čase, když nastane konkrétní událost. Pokud hledáte funkci pro zasílání upozornění na události agend, přejděte do nastavení modulu Agenda. Module610Name=Varianty produktu @@ -630,7 +633,7 @@ Module5000Desc=Umožňuje spravovat více společností Module6000Name=Workflow Module6000Desc=Správa pracovních postupů (automatické vytvoření objektu a / nebo automatické změny stavu) Module10000Name=Webové stránky -Module10000Desc=Create websites (public) with a WYSIWYG editor. This is a webmaster or developer oriented CMS (it is better to know HTML and CSS language). Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. +Module10000Desc=Vytvořte webové stránky (veřejné) pomocí editoru WYSIWYG. Toto je CMS pro webmastery nebo vývojáře (je lepší znát jazyk HTML a CSS). Stačí nastavit svůj webový server (Apache, Nginx, ...) tak, aby ukazoval na vyhrazený adresář Dolibarr, aby byl online na internetu s vaším vlastním názvem domény. Module20000Name=Nechte správu požadavků Module20000Desc=Definujte a sledujte žádosti o odchod zaměstnanců Module39000Name=Množství produktu @@ -642,7 +645,7 @@ Module50000Desc=Nabídněte zákazníkům platební stránku PayBox (kreditní / Module50100Name=POS SimplePOS Module50100Desc=Prodejní modul SimplePOS (jednoduché POS). Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Modul Point of Sale TakePOS (POS dotykový displej, pro obchody, bary nebo restaurace). Module50200Name=Paypal Module50200Desc=Nabídněte zákazníkům platební stránku PayPal online (účet PayPal nebo kreditní nebo debetní karty). To může být použito k tomu, aby zákazníci mohli provádět ad hoc platby nebo platby související s konkrétním předmětem Dolibarr (faktura, objednávka atd.) Module50300Name=Proužek @@ -816,7 +819,7 @@ Permission401=Přečtěte slevy Permission402=Vytvořit / upravit slevy Permission403=Ověřit slevy Permission404=Odstranit slevy -Permission430=Use Debug Bar +Permission430=Použijte ladicí panel Permission511=Přečtěte si platy Permission512=Vytvořte / upravte platby platů Permission514=Smazat platy @@ -831,9 +834,9 @@ Permission532=Vytvořit / upravit služby Permission534=Odstranit služby Permission536=Viz / správa skryté služby Permission538=Export služeb -Permission650=Read Bills of Materials -Permission651=Create/Update Bills of Materials -Permission652=Delete Bills of Materials +Permission650=Přečtěte si kusovníky +Permission651=Vytvářejte / aktualizujte účty materiálů +Permission652=Smazat kusovníky Permission701=Přečtěte si dary Permission702=Vytvořit / upravit dary Permission703=Odstranit dary @@ -849,12 +852,12 @@ Permission1002=Vytvoření/úprava skladišť Permission1003=Odstranění skladišť Permission1004=Přečtěte skladové pohyby Permission1005=Vytvořit / upravit skladové pohyby -Permission1101=Read delivery receipts -Permission1102=Create/modify delivery receipts -Permission1104=Validate delivery receipts -Permission1109=Delete delivery receipts -Permission1121=Read supplier proposals -Permission1122=Create/modify supplier proposals +Permission1101=Přečíst potvrzení o doručení +Permission1102=Vytvářejte / upravujte potvrzení o doručení +Permission1104=Ověřte potvrzení o doručení +Permission1109=Smažte potvrzení o doručení +Permission1121=Přečtěte si návrhy dodavatelů +Permission1122=Vytvářejte / upravujte návrhy dodavatelů Permission1123=Validate supplier proposals Permission1124=Send supplier proposals Permission1125=Delete supplier proposals @@ -947,7 +950,7 @@ DictionaryCanton=Stát/Okres DictionaryRegion=Regiony DictionaryCountry=Země DictionaryCurrency=Měny -DictionaryCivility=Zdvořilostní oslovení +DictionaryCivility=Honorific titles DictionaryActions=Typ agendy událostí DictionarySocialContributions=Typy sociální nebo fiskální daně DictionaryVAT=Sazby DPH nebo daň z prodeje @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Ve výchozím nastavení je navrhovaná daň z prodeje 0, kter VATIsUsedExampleFR=Ve Francii to znamená, že společnosti nebo organizace mají skutečný fiskální systém (zjednodušený reálný nebo normální reálný). Systém, v němž je uvedena DPH. VATIsNotUsedExampleFR=Ve Francii se jedná o sdružení, která jsou prohlášena za nepodléhající daň z prodeje, nebo společnosti, organizace nebo svobodné profese, které si vybraly daňový systém pro mikropodniky (daně z prodeje ve franchise) a zaplatili daň z prodeje bez daně z prodeje bez prohlášení o daních z prodeje. Tato volba zobrazí na fakturách odkaz "Neuplatňuje se daň z prodeje - art-293B CGI". ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rychlost LocalTax1IsNotUsed=Nepoužívejte druhou daň LocalTax1IsUsedDesc=Použijte druhý typ daně (jiný než první) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Kurz IRPF ve výchozím nastavení při vytváření prosp LocalTax2IsNotUsedDescES=Standardně navrhovaný IRPF je 0. Konec pravidla. LocalTax2IsUsedExampleES=Ve Španělsku, na volné noze a nezávislí odborníci, kteří poskytují služby a firmy, kteří se rozhodli daňového systému modulů. LocalTax2IsNotUsedExampleES=Ve Španělsku jsou podniky, které nepodléhají daňovému systému modulů. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Zprávy o místních daních CalcLocaltax1=Prodej - Nákupy CalcLocaltax1Desc=Přehledy místních daní jsou vypočítávány s rozdílem mezi místními nákupy a místními nákupy @@ -1018,6 +1025,7 @@ CalcLocaltax2=Nákupy CalcLocaltax2Desc=Přehledy místních daní jsou součtem nákupů místních taxíků CalcLocaltax3=Odbyt CalcLocaltax3Desc=Přehledy místních daní představují celkový prodej místních tax +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Štítky použité ve výchozím nastavení, pokud nelze najít překlad pro kód LabelOnDocuments=Štítek na dokumenty LabelOrTranslationKey=Klíč pro označení nebo překlad @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Zpráva o výdajích ke schválení Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Než začnete používat Dolibarr, je třeba definovat některé počáteční parametry a povolit / konfigurovat moduly. SetupDescription2=Následující dvě části jsou povinné (první dvě položky v nabídce Nastavení): -SetupDescription3=%s ->%s
    Základní parametry používané k přizpůsobení výchozího chování vaší aplikace (např. Pro funkce související se zemí). -SetupDescription4=%s -> %s
    Tento software je sadou mnoha modulů/aplikací, které jsou více či méně nezávislé. Moduly odpovídající vašim potřebám musí být povoleny a nakonfigurovány. Nové položky/možnosti jsou přidány do menu s aktivací modulu. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Ostatní položky nabídky nastavení řídí volitelné parametry. LogEvents=Události bezpečnostního auditu Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Povolte protokolování pro konkrétní události zabezpečení. Ad AreaForAdminOnly=Parametry nastavení mohou být nastaveny pouze uživateli administrátora . SystemInfoDesc=Systémové informace jsou různé technické informace, které získáte pouze v režimu pro čtení a viditelné pouze pro správce. SystemAreaForAdminOnly=Tato oblast je k dispozici pouze uživatelům správce. Uživatelské oprávnění Dolibarr nemůže toto omezení měnit. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parametry ovlivňující vzhled a chování nástroje Dolibarr lze zde změnit. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Pravidla pro generování a ověřování hesel DisableForgetPasswordLinkOnLogonPage=Na stránce Přihlášení nezobrazujte odkaz Zapomenuté heslo UsersSetup=Uživatelé modul nastavení UserMailRequired=K vytvoření nového uživatele potřebujete e-mail +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=setup HRM Modul ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Modely dokumentů faktur BillsPDFModulesAccordindToInvoiceType=Modely dokladů faktur podle typu faktury PaymentsPDFModules=Vzory platebních dokumentů ForceInvoiceDate=Vynutit datum fakturace k datu ověření -SuggestedPaymentModesIfNotDefinedInInvoice=Navrhované platby režimu na faktuře ve výchozím nastavení, pokud není definován pro faktury +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Navrhněte platbu výběrem na účet SuggestPaymentByChequeToAddress=Navrhněte platbu šekem na FreeLegalTextOnInvoices=Volný text na fakturách @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Nastavení plateb dodavatelů PropalSetup=Nastavení modulů komerčních návrhů ProposalsNumberingModules=Modelové modely číslování návrhů ProposalsPDFModules=Komerční návrh doklady modely -SuggestedPaymentModesIfNotDefinedInProposal=Navrhovaný režim platby na návrh ve výchozím nastavení, pokud není definován pro návrh +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Volný text o obchodních návrhů WatermarkOnDraftProposal=Vodoznak v návrhových komerčních návrzích (žádný není prázdný) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Zeptejte se na umístění bankovního účtu nabídky @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Zadat zdroj datového skladu pro objednávk ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Požádejte o umístění bankovního účtu objednávky ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Nastavení řízení nákupních objednávek OrdersNumberingModules=Objednávky číslování modelů OrdersModelModule=Objednat dokumenty modely @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Varování, vyšší hodnoty dramaticky ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Exportní modely jsou sdílené s každým ExportSetup=Nastavení modulu Export +ImportSetup=Setup of module Import InstanceUniqueID=Jedinečné ID instance SmallerThan=Menší než LargerThan=Větší než @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/cs_CZ/bills.lang b/htdocs/langs/cs_CZ/bills.lang index a08717ba138..66ebc9db50c 100644 --- a/htdocs/langs/cs_CZ/bills.lang +++ b/htdocs/langs/cs_CZ/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Faktury dodavatelů SupplierBill=Faktura dodavatele SupplierBills=Faktury dodavatelů Payment=Platba -PaymentBack=Vrácení platby -CustomerInvoicePaymentBack=Vrácení platby +PaymentBack=Vrácení +CustomerInvoicePaymentBack=Vrácení Payments=Platby PaymentsBack=Refunds paymentInInvoiceCurrency=v měně faktur PaidBack=Navrácené DeletePayment=Odstranit platby ConfirmDeletePayment=Jste si jisti, že chcete smazat tuto platbu? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Platby dodavatele ReceivedPayments=Přijaté platby @@ -219,7 +219,10 @@ ShowInvoiceSituation=Zobrazit fakturu situace UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Zaplatit ToMakePaymentBack=Vrátit ListOfYourUnpaidInvoices=Seznam nezaplacených faktur NoteListOfYourUnpaidInvoices=Poznámka: Tento seznam obsahuje pouze faktury pro třetí strany které jsou propojeny na obchodního zástupce. -RevenueStamp=Kolek +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Tato možnost je k dispozici pouze při vytváření faktury z karty "Zákazník" subjektu YouMustCreateInvoiceFromSupplierThird=Tato možnost je k dispozici pouze při vytváření faktury z karty "Prodejce" subjektu YouMustCreateStandardInvoiceFirstDesc=Musíte nejprve vytvořit standardní fakturu a převést ji do „šablony“ pro vytvoření nové šablony faktury -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Faktura Šablona PDF Sponge. Kompletní šablona faktury PDFCrevetteDescription=Faktura PDF šablony Crevette. Kompletní fakturu šablona pro situace faktur TerreNumRefModelDesc1=Vrátí číslo ve formátu %s yymm-nnnn pro standardní faktury a %s yymm-nnnn pro dobropisy, kde yy je rok, mm je měsíc a nnnn je sekvence bez přerušení a bez návratu k 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Nastavte datum ukončení servisního řádku s dalším datem fa AutoFillDateToShort=Nastavte datum ukončení MaxNumberOfGenerationReached=Maximální počet gen. dosáhl BILL_DELETEInDolibarr=faktura smazána +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/cs_CZ/blockedlog.lang b/htdocs/langs/cs_CZ/blockedlog.lang index c81d53c65c2..d5505d61df0 100644 --- a/htdocs/langs/cs_CZ/blockedlog.lang +++ b/htdocs/langs/cs_CZ/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Nezměnitelné záznamy ShowAllFingerPrintsMightBeTooLong=Zobrazit všechny archivované záznamy (mohou být dlouhé) ShowAllFingerPrintsErrorsMightBeTooLong=Zobrazit všechny neplatné protokoly archivu (mohou být dlouhé) DownloadBlockChain=Stažení otisků prstů -KoCheckFingerprintValidity=Archivovaná položka protokolu není platná. To znamená, že někdo (hacker?) Změnil některé údaje o tomto re po nahrání nebo vymazal předchozí archivovaný záznam (zkontrolujte, zda existuje řádek s předchozím #). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archivovaný záznam protokolu je platný. Údaje na tomto řádku nebyly změněny a záznam je následující. OkCheckFingerprintValidityButChainIsKo=Archivovaný protokol se zdá být v porovnání s předchozím protokolem platný, ale řetězec byl dříve poškozen. AddedByAuthority=Uloženo do vzdálené autority diff --git a/htdocs/langs/cs_CZ/cashdesk.lang b/htdocs/langs/cs_CZ/cashdesk.lang index f5c5835ecc9..27fbe7b11e4 100644 --- a/htdocs/langs/cs_CZ/cashdesk.lang +++ b/htdocs/langs/cs_CZ/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Přidat tento článek RestartSelling=Vraťte se na prodej SellFinished=Sale complete PrintTicket=Tisk dokladu +SendTicket=Send ticket NoProductFound=Žádný článek nalezen ProductFound=vyhledané výrobky NoArticle=Žádný článek @@ -48,6 +49,7 @@ Footer=Zápatí AmountAtEndOfPeriod=Částka na konci období (den, měsíc nebo rok) TheoricalAmount=Teoretická částka RealAmount=Skutečná částka +CashFence=Cash fence CashFenceDone=Peněžní oplatek za období NbOfInvoices=Některé z faktur Paymentnumpad=Zadejte Pad pro vložení platby @@ -58,8 +60,9 @@ TakeposNeedsCategories=Firma TakePOS potřebuje k tomu produktové kategorie OrderNotes=Objednací poznámky CashDeskBankAccountFor=Výchozí účet, který se má použít pro platby v účtu NoPaimementModesDefined=V konfiguraci TakePOS není definován žádný režim platby -TicketVatGrouped=Skupinová DPH dle sazeb na lístcích -AutoPrintTickets=Automaticky tisknout vstupenky +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Povolit funkce pro Bar nebo Restaurace ConfirmDeletionOfThisPOSSale=Potvrzujete, že jste tento prodej zrušili? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Prohlížeč BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/cs_CZ/companies.lang b/htdocs/langs/cs_CZ/companies.lang index 4cc4191e3e9..ce0b18caed1 100644 --- a/htdocs/langs/cs_CZ/companies.lang +++ b/htdocs/langs/cs_CZ/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Společnost %s odstraněna z databáze. ListOfContacts=Seznam kontaktů/adres ListOfContactsAddresses=Seznam kontaktů/adres ListOfThirdParties=Seznam subjektů -ShowCompany=Zobrazit subjekt ShowContact=Zobrazit kontakt ContactsAllShort=Vše (Bez filtru) ContactType=Typ kontaktu @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Jméno obchodního zástupce SaleRepresentativeLastname=Příjmení obchodního zástupce ErrorThirdpartiesMerge=Při odstraňování subjektů došlo k chybě. Zkontrolujte protokol. Změny byly vráceny. NewCustomerSupplierCodeProposed=Kód zákazníka nebo dodavatele již byl použit, je doporučen nový kód +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Typ platby - Zákazník PaymentTermsCustomer=Platební podmínky - Zákazník diff --git a/htdocs/langs/cs_CZ/compta.lang b/htdocs/langs/cs_CZ/compta.lang index c7e1a7ea7e8..5d746c572bf 100644 --- a/htdocs/langs/cs_CZ/compta.lang +++ b/htdocs/langs/cs_CZ/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Viz %sanalýza plateb %spro výpočet skutečných pl SeeReportInDueDebtMode=Viz %sanalýza faktur %s pro výpočet založený na známých zaznamenaných fakturách, i když ještě nejsou účtovány v Ledgeru. SeeReportInBookkeepingMode=Viz část %sKontrola report %s pro výpočet na Tabulce účtů účetnictví RulesAmountWithTaxIncluded=- Uvedené částky jsou se všemi daněmi -RulesResultDue=- To zahrnuje neuhrazené faktury, výdaje a DPH, zda byly zaplaceny či nikoliv.
    - Je založen na ověřených datech faktur a DPH a ke dni splatnosti pro náklady. Platy definované s plat modulem, použije se datum splatnosti platby. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- To zahrnuje skutečné platby na fakturách, nákladů, DPH a platů.
    - Je založen na datech plateb faktur, náklady, DPH a platů. Datum daru pro dárcovství. -RulesCADue=- To zahrnuje splatné faktury klienta, zda byly zaplaceny či nikoliv.
    - Je založen na datum ověření těchto faktur
    . +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Zahrnuje všechny efektivní platby faktur obdržených od zákazníků.
    - Je založeno na datu splatnosti těchto faktur
    RulesCATotalSaleJournal=Zahrnuje všechny úvěrové linky z žurnálu Prodej. RulesAmountOnInOutBookkeepingRecord=Zahrnuje záznam ve vašem účtu Ledger s účetními účty, které mají skupinu "EXPENSE" nebo "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Obrat je fakturován sazbou daně z prodeje TurnoverCollectedbyVatrate=Obrat shromážděný podle sazby daně z prodeje PurchasebyVatrate=Nákup podle sazby daně z prodeje LabelToShow=Krátký štítek +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index 6cc550bed4b..9ec1ad76886 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Soubor nebyl korektně poslán serverem ErrorNoTmpDir=Dočasné directy %s neexistuje. ErrorUploadBlockedByAddon=Nahrávání blokováno pluginem PHP / Apache. ErrorFileSizeTooLarge=Soubor je příliš velký. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Velikost příliš dlouhá pro typ int (%s číslice maximum) ErrorSizeTooLongForVarcharType=Velikost příliš dlouho typu string (%s znaků maximum) ErrorNoValueForSelectType=Vyplňte prosím hodnotu pro vybraný seznam @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=Pro tohoto člena bylo nastaveno heslo. Nebyl však vytvořen žádný uživatelský účet. Toto heslo je uloženo, ale nemůže být použito pro přihlášení k Dolibarr. Může být použito externím modulem / rozhraním, ale pokud nemáte pro člena definováno žádné přihlašovací jméno ani heslo, můžete vypnout možnost "Správa přihlášení pro každého člena" z nastavení modulu člena. Pokud potřebujete spravovat přihlašovací údaje, ale nepotřebujete žádné heslo, můžete toto pole ponechat prázdné, abyste se tomuto varování vyhnuli. Poznámka: E-mail může být také použit jako přihlašovací jméno, pokud je člen připojen k uživateli. diff --git a/htdocs/langs/cs_CZ/install.lang b/htdocs/langs/cs_CZ/install.lang index 46aa42ac0a4..bdc4d493fd7 100644 --- a/htdocs/langs/cs_CZ/install.lang +++ b/htdocs/langs/cs_CZ/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Tato konfigurace PHP podporuje Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=Tato PHP instalace podporuje UTF8 funkce. PHPSupportIntl=Tato instalace PHP podporuje funkce Intl. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Maximální velikost relace je nastavena na %s. To by mělo stačit. PHPMemoryTooLow=Maximální velikost relace je nastavena na %s bajtů. To bohužel nestačí. Zvyšte svůj parametr memory_limit ve Vašem php.ini na minimální velikost %s bajtů. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Vaše instalace PHP nepodporuje Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Tato PHP instalace nepodporuje UTF8 funkce. Tato funkce je nutná, pro správnou funkčnost Dolibarr. Zkontrolujte Vaše PHP nastavení. ErrorPHPDoesNotSupportIntl=Instalace PHP nepodporuje funkce Intl. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Adresář %s neexistuje. ErrorGoBackAndCorrectParameters=Vraťte se zpět a zkontrolujte / opravte špatné parametry. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Aplikace se pokoušela samoinnicializovat, ale st YouTryInstallDisabledByFileLock=Aplikace se pokoušela o vlastní inovaci, ale stránky s instalací / upgradem byly zakázány z důvodu zabezpečení (existence souboru zámku install.lock v adresáři dokumentů dolibarr).
    ClickHereToGoToApp=Kliknutím sem přejdete do aplikace ClickOnLinkOrRemoveManualy=Klikněte na následující odkaz. Pokud vždy vidíte stejnou stránku, musíte odstranit / přejmenovat soubor install.lock v adresáři dokumentů. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/cs_CZ/link.lang b/htdocs/langs/cs_CZ/link.lang index ed6714e9cc6..3d620dcba76 100644 --- a/htdocs/langs/cs_CZ/link.lang +++ b/htdocs/langs/cs_CZ/link.lang @@ -1,10 +1,11 @@ # Dolibarr language file - Source file is en_US - languages -LinkANewFile=Odkaz na nový soubor/dokument -LinkedFiles=Odkaz na soubory a dokumenty -NoLinkFound=Neregistrovaný odkaz -LinkComplete=Soubor byl úspěšně propojen -ErrorFileNotLinked=Soubor nemohl být propojen +LinkANewFile=Připojit nový soubor/dokument +LinkedFiles=Připojené soubory a dokumenty +NoLinkFound=Žádné odkazy +LinkComplete=Soubor byl úspěšně připojen +ErrorFileNotLinked=Soubor nemohl být připojen LinkRemoved=Odkaz %s byl odstraněn ErrorFailedToDeleteLink= Nepodařilo se odstranit odkaz '%s' ErrorFailedToUpdateLink= Nepodařilo se aktualizovat odkaz '%s' -URLToLink=URL to link +URLToLink=Připojit URL +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/cs_CZ/mails.lang b/htdocs/langs/cs_CZ/mails.lang index b98921f4106..f154b82748f 100644 --- a/htdocs/langs/cs_CZ/mails.lang +++ b/htdocs/langs/cs_CZ/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Žádný kontakt / adresa s nalezenou kategorií NoContactLinkedToThirdpartieWithCategoryFound=Žádný kontakt / adresa s nalezenou kategorií OutGoingEmailSetup=Nastavení odchozí pošty InGoingEmailSetup=Příchozí nastavení e-mailu -OutGoingEmailSetupForEmailing=Nastavení odchozích e-mailů (pro hromadné zasílání e-mailů) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Výchozí nastavení odchozí pošty Information=Informace ContactsWithThirdpartyFilter=Kontakty s filtrem subjektu diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index d85d85de4e8..827bdef2db1 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Zkušební připojení ToClone=Klon +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Vyberte data, která chcete klonovat: NoCloneOptionsSpecified=Nejsou definovány žádné údaje ke klonování. Of=z @@ -829,6 +830,8 @@ Gender=Pohlaví Genderman=Muž Genderwoman=Žena ViewList=Zobrazení seznamu +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=povinné Hello=Ahoj GoodBye=No, nazdar ... @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/cs_CZ/other.lang b/htdocs/langs/cs_CZ/other.lang index 2e234b393ef..568b1eac8c4 100644 --- a/htdocs/langs/cs_CZ/other.lang +++ b/htdocs/langs/cs_CZ/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Objednávka prodeje byla ověřena Notify_ORDER_SENTBYMAIL=Prodejní objednávka byla odeslána mailem Notify_ORDER_SUPPLIER_SENTBYMAIL=Objednávka byla odeslána e-mailem @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL stránky WEBSITE_TITLE=Titul WEBSITE_DESCRIPTION=Popis WEBSITE_IMAGE=obraz -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Klíčová slova LinesToImport=Řádky, které chcete importovat diff --git a/htdocs/langs/cs_CZ/products.lang b/htdocs/langs/cs_CZ/products.lang index 868ea8447a5..b9baf58d160 100644 --- a/htdocs/langs/cs_CZ/products.lang +++ b/htdocs/langs/cs_CZ/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Tento nástroj aktualizuje sazbu DPH definovanou na pro MassBarcodeInit=Hromadný čárový kód inicializace MassBarcodeInitDesc=Tato stránka může být použita k inicializaci čárového kódu na objekty, které nemají definovaný čárový kód. Zkontrolujte před touto akcí, zda je nastavení modulu čárového kódu kompletní. ProductAccountancyBuyCode=Účetní kód (nákup) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Účetní kód (prodej) ProductAccountancySellIntraCode=Účetní kód (prodej uvnitř Společenství) ProductAccountancySellExportCode=Účetní kód (exportní prodej) @@ -165,7 +167,7 @@ SuppliersPrices=Ceny prodejců SuppliersPricesOfProductsOrServices=Ceny prodejců (produktů nebo služeb) CustomCode=Kód cla / komodity / HS CountryOrigin=Země původu -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Krátký štítek Unit=Jednotka p=u. diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index d736ca6c502..46eafc29ec1 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Čas ListOfTasks=Seznam úkolů GoToListOfTimeConsumed=Přejít na seznam času spotřebovaného -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=Seznam komerčních návrhů týkajících se projektu ListOrdersAssociatedProject=Seznam prodejních zakázek týkajících se projektu @@ -188,7 +186,7 @@ PlannedWorkload=Plánované vytížení PlannedWorkloadShort=Pracovní zátěž ProjectReferers=Související zboží ProjectMustBeValidatedFirst=Projekt musí být nejdříve ověřen -FirstAddRessourceToAllocateTime=Přiřadit zdroj k vyčlenění času +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Vstup za den InputPerWeek=Vstup za týden InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Nejnovější %smodifikované projekty OtherFilteredTasks=Další filtrované úkoly NoAssignedTasks=Nebyly nalezeny žádné přiřazené úkoly (přiřadit projekt / úkoly aktuálnímu uživateli z horního výběrového pole pro zadání času na něm) ThirdPartyRequiredToGenerateInvoice=Subjekt musí být definován na projektu, aby mohl fakturovat. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Povolení uživatelských komentářů k úkolům AllowCommentOnProject=Umožňuje uživatelským komentářům k projektům @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nová faktura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/cs_CZ/receiptprinter.lang b/htdocs/langs/cs_CZ/receiptprinter.lang index 107887bca71..fd1a14ecd03 100644 --- a/htdocs/langs/cs_CZ/receiptprinter.lang +++ b/htdocs/langs/cs_CZ/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Síťová tiskárna CONNECTOR_FILE_PRINT=místní tiskárna CONNECTOR_WINDOWS_PRINT=Místní tiskárna Windows +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake tiskárna pro zkoušku, nedělá nic CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 CONNECTOR_FILE_PRINT_HELP=/Dev/usb/lp0,/dev/usb/LP1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Výchozí profil PROFILE_SIMPLE=Zjednodušený profil PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Faktura ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Identifikační číslo DPH uvnitř Společenství +DOL_VALUE_MYSOC_CAPITAL=Kapitál +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/cs_CZ/stripe.lang b/htdocs/langs/cs_CZ/stripe.lang index 763e4862427..a0dd5814103 100644 --- a/htdocs/langs/cs_CZ/stripe.lang +++ b/htdocs/langs/cs_CZ/stripe.lang @@ -32,6 +32,7 @@ VendorName=Název dodavatele CSSUrlForPaymentForm=CSS styly url platebního formuláře NewStripePaymentReceived=Byla obdržena nová platba Stripe NewStripePaymentFailed=Pokus o novou Stripe platbu, ta ale selhala +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Tajný testovací klíč STRIPE_TEST_PUBLISHABLE_KEY=Testovatelný klíč pro publikování STRIPE_TEST_WEBHOOK_KEY=Testovací klíč Webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Odkaz na nastavení Stripe WebHook pro volání IPN ( ToOfferALinkForLiveWebhook=Odkaz na nastavení Stripe WebHook pro volání IPN (provozní režim) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/cs_CZ/users.lang b/htdocs/langs/cs_CZ/users.lang index d96e14e53df..265e3f116ec 100644 --- a/htdocs/langs/cs_CZ/users.lang +++ b/htdocs/langs/cs_CZ/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Uživatelé a jejich vlastnosti DomainUser=Doménový uživatel %s Reactivate=Reaktivace CreateInternalUserDesc=Tento formulář umožňuje vytvořit interní uživatele ve vaší společnosti / organizaci. Chcete-li vytvořit externího uživatele (zákazník, dodavatel atd.), použijte tlačítko "Vytvořit uživatele Dolibarr z karty kontaktu subjektu. -InternalExternalDesc=Interní uživatel je uživatel, který je součástí vaší firmy / nadace.
    Externí uživatel je zákazník, dodavatel nebo jiný.

    V obou případech se oprávněními definují práva na Dolibarr. Externí uživatel navíc může mít jinou nabídku menu než-li interní (viz Domů - Nastavení - Zobrazení) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Povolení uděleno, neboť je zděděno z některé uživatelské skupiny. Inherited=Zděděný UserWillBeInternalUser=Vytvořený uživatel bude interní (protože není spojen s žádnou třetí stranou) @@ -113,3 +113,5 @@ CantDisableYourself=Nelze zakázat vlastní uživatelský záznam ForceUserExpenseValidator=Validator výkazu výdajů ForceUserHolidayValidator=Vynutit validátor žádosti o dovolenou ValidatorIsSupervisorByDefault=Ve výchozím nastavení je validátor nadřazený nad uživatelem. Chcete-li zachovat toto chování, ponechte prázdné. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/cs_CZ/website.lang b/htdocs/langs/cs_CZ/website.lang index 47303baa66c..9abca0118ab 100644 --- a/htdocs/langs/cs_CZ/website.lang +++ b/htdocs/langs/cs_CZ/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Zobrazit stránku v nové kartě SetAsHomePage=Nastavit jako domovskou stránku RealURL=real URL ViewWebsiteInProduction=Pohled webové stránky s použitím domácí adresy URL -SetHereVirtualHost=  Použití s Apache / NGinx / ...
    Pokud můžete vytvořit na svém webovém serveru (Apache, Nginx, ...) vyhrazený virtuální hostitel s PHP povoleným a kořenový adresář na
    %s
    pak nastavit název virtuálního hostitele, který jste vytvořili ve vlastnostech webových stránek, takže náhled lze provést také pomocí tohoto vyhrazeného přístupu k webovým serverům místo interního serveru Dolibarr. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=  Použití s vloženým serverem PHP
    Při vývoji prostředí můžete upřednostňovat testování webu pomocí integrovaného webového serveru PHP (PHP 5.5 vyžadováno) spuštěním
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Zkontrolujte také, že virtuální hostitel má oprávnění %s na souborech do
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Povolte tabulku účtu webových stránek WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Aktivujte tabulku pro ukládání účtů webových stránek (login / heslo) pro každý web / třetí stranu YouMustDefineTheHomePage=Nejprve musíte definovat výchozí domovskou stránku -OnlyEditionOfSourceForGrabbedContentFuture=Upozornění: Vytvoření webové stránky importováním externí webové stránky je vyhrazeno pro zkušené uživatele. V závislosti na složitosti zdrojové stránky se může výsledek importu lišit od původního. Také pokud zdrojová stránka používá běžné styly CSS nebo konfliktní javascript, může při práci na této stránce narušit vzhled nebo funkce editoru webových stránek. Tato metoda je rychlejší způsob, jak vytvořit stránku, ale doporučuje se vytvořit novou stránku od začátku nebo od navržené šablony stránky.
    Upozorňujeme také, že úpravy HTML zdroje budou možné, pokud bude obsah stránky inicializován tak, že jej budete chytat z externí stránky (editor "Online" NENÍ dostupný) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Pouze vydání zdroje HTML je možné, pokud byl obsah chycen z externího webu GrabImagesInto=Uchopte také obrázky do css a stránky. ImagesShouldBeSavedInto=Obrázky je třeba uložit do adresáře @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index 83a89ffb0d7..d4dde827a10 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Bemærk: din PHP konfiguration begrænser i øj NoMaxSizeByPHPLimit=Bemærk: Ingen grænse er sat i din PHP-konfiguration MaxSizeForUploadedFiles=Maksimale størrelse for uploadede filer (0 til disallow enhver upload) UseCaptchaCode=Brug grafisk kode på loginsiden -AntiVirusCommand= Fuld sti til antivirus kommando -AntiVirusCommandExample= Eksempel på ClamWin: c: \\ Program Files (x86) \\ ClamWin \\ bin \\ clamscan.exe
    Eksempel på ClamAV: / usr / bin / clamscan +AntiVirusCommand=Fuld sti til antivirus kommando +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Flere parametre på kommandolinjen -AntiVirusParamExample= Eksempel for ClamWin: - database = "C: \\ Programmer (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Opsætning af regnskabsmodul UserSetup=Brugerstyring opsætning MultiCurrencySetup=Multi-valuta opsætning @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funktionen slået fra i demo FeatureAvailableOnlyOnStable=Funktionen er kun tilgængelig på officielle stabile versioner BoxesDesc=Widgets er komponenter, der viser nogle oplysninger, som du kan tilføje for at tilpasse nogle sider. Du kan vælge mellem at vise widgeten eller ej ved at vælge målside og klikke på 'Aktiver' eller ved at klikke på papirkurven for at deaktivere den. OnlyActiveElementsAreShown=Kun elementer fra de aktiverede moduler er vist. -ModulesDesc=Modulerne / applikationerne bestemmer hvilke funktioner der er tilgængelige i softwaren. Nogle moduler kræver tilladelser til brugere efter aktivering af modulet. Klik på tænd / sluk-knappen (ved slutningen af modullinjen) for at aktivere / deaktivere et modul / program. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Du kan finde flere moduler som kan downloades på eksterne hjemmesider på internettet ... ModulesDeployDesc=Hvis tilladelser i dit filsystem tillader det, kan du bruge dette værktøj til at installere et eksternt modul. Modulet vil så være synligt på fanen %s. ModulesMarketPlaces=Finde eksterne app/moduler @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatibel med version %s NotCompatible=Dette modul virker ikke kompatibelt med din Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Dette modul kræver en opdatering til din Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på markedspladsen +SeeSetupOfModule=See setup of module %s Updated=Opdater Nouveauté=Nyhed AchatTelechargement=Køb / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=Liste over virksomheder, der leverer specialudviklede moduler e WebSiteDesc=Eksterne websites til flere (tredjeparts) tillægsmoduler ... DevelopYourModuleDesc=Nogle løsninger til at udvikle dit eget modul ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Bokse til rådighed BoxesActivated=Bokse aktiveret ActivateOn=Aktivér om @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Holde tomt for at bruge standard værdi DefaultLink=Standard link SetAsDefault=Indstillet som standard ValueOverwrittenByUserSetup=Advarsel, denne værdi kan blive overskrevet af bruger-specifik opsætning (hver bruger kan indstille sin egen clicktodial url) -ExternalModule=Eksternt modul - Installeret i mappe %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for tredjepart BarcodeInitForProductsOrServices=Mass barcode init eller nulstil for produkter eller tjenester CurrentlyNWithoutBarCode=I øjeblikket har du %s post på %s %s uden stregkode defineret. @@ -947,7 +950,7 @@ DictionaryCanton=Stater / provinser DictionaryRegion=Regioner DictionaryCountry=Lande DictionaryCurrency=Valuta -DictionaryCivility=Titel for høflighed +DictionaryCivility=Honorific titles DictionaryActions=Begivenhedstyper DictionarySocialContributions=Typer af sociale eller skattemæssige afgifter DictionaryVAT=Momssatser @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Den foreslåede moms er som standard 0, som kan bruges til sage VATIsUsedExampleFR=I Frankrig betyder det, at virksomheder eller organisationer har et rigtigt finanssystem (forenklet reel eller normal reel). Et system, hvor moms er erklæret. VATIsNotUsedExampleFR=I Frankrig betyder det foreninger, der ikke er momsregistrerede, eller selskaber, organisationer eller liberale erhverv, der har valgt mikrovirksomhedens skattesystem (Salgsskat i franchise) og betalt en franchise Salgsskat uden nogen momsafgift. Dette valg vil vise referencen "Ikke gældende salgsafgift - art-293B CGI" på fakturaer. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Hyppighed LocalTax1IsNotUsed=Brug ikke anden skat LocalTax1IsUsedDesc=Brug en anden type afgift (bortset fra den første) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=IRPF-kursen som standard ved oprettelse af emner. fakturae LocalTax2IsNotUsedDescES=Som standard den foreslåede IRPF er 0. Slut på reglen. LocalTax2IsUsedExampleES=I Spanien, freelancere og selvstændige, der leverer tjenesteydelser og virksomheder, der har valgt at skattesystemet i de moduler. LocalTax2IsNotUsedExampleES=I Spanien er de virksomheder, der ikke er underlagt skattesystemer for moduler. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Rapporter om lokale skatter CalcLocaltax1=Salg - Køb CalcLocaltax1Desc=Lokale skatter rapporter beregnes med forskellen mellem localtaxes salg og localtaxes køb @@ -1018,6 +1025,7 @@ CalcLocaltax2=Køb CalcLocaltax2Desc=Lokale skatter rapporter er de samlede køb af lokale afgifter CalcLocaltax3=Salg CalcLocaltax3Desc=Lokale skatter rapporter er det samlede salg af localtaxes +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etiket, som bruges som standard, hvis ingen oversættelse kan findes for kode LabelOnDocuments=Etiketten på dokumenter LabelOrTranslationKey=Etiket eller oversættelsestast @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Udgiftsrapporten godkendes Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Før du begynder at bruge Dolibarr, skal nogle indledende parametre defineres og moduler aktiveres / konfigureres. SetupDescription2=Følgende to afsnit er obligatoriske (de to første indgange i opsætningsmenuen): -SetupDescription3=%s -> %s
    Grundlæggende parametre, der bruges til at tilpasse din applikations standardopførsel (f.eks. Til landrelaterede funktioner). -SetupDescription4=%s -> %s
    Denne software er en pakke med mange moduler / applikationer, alle mere eller mindre uafhængige. De moduler, der er relevante for dine behov, skal være aktiveret og konfigureret. Nye elementer / indstillinger føjes til menuer med aktivering af et modul. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Andre opsætningsmenuindgange styrer valgfrie parametre. LogEvents=Sikkerhed revision arrangementer Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Aktivér logføring til specifikke sikkerhedshændelser. Administra AreaForAdminOnly=Opsætningsparametre kan kun indstilles af administratorbrugere. SystemInfoDesc=System oplysninger er diverse tekniske oplysninger du får i read only mode og synlig kun for administratorer. SystemAreaForAdminOnly=Dette område er kun tilgængeligt for administratorbrugere. Dolibarr bruger tilladelser kan ikke ændre denne begrænsning. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Hvis du har en ekstern revisor / bogholder, kan du her redigere dens oplysninger. AccountantFileNumber=Revisor kode DisplayDesc=Parametre, der påvirker udseende og opførsel af Dolibarr kan ændres her. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Regler for at generere og validere adgangskoder DisableForgetPasswordLinkOnLogonPage=Vis ikke linket "Glemt adgangskode" på siden Login UsersSetup=Opsætning af brugermodul UserMailRequired=Email nødvendig for at oprette en ny bruger +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM modul opsætning ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Faktura dokumenter modeller BillsPDFModulesAccordindToInvoiceType=Faktura dokumenter modeller efter faktura type PaymentsPDFModules=Betalingsdokumenter modeller ForceInvoiceDate=Force fakturadatoen til bekræftelse dato -SuggestedPaymentModesIfNotDefinedInInvoice=Foreslåede betalinger tilstand på fakturaen som standard, hvis ikke defineret for faktura +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Foreslå betaling ved tilbagetrækning på konto SuggestPaymentByChequeToAddress=Foreslå betaling med check til FreeLegalTextOnInvoices=Fri tekst på fakturaer @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Opsætning af leverandørbetalinger PropalSetup=Modulopsætning for tilbud ProposalsNumberingModules=Nummerering af tilbud ProposalsPDFModules=Skabelon for tilbud -SuggestedPaymentModesIfNotDefinedInProposal=Foreslået betalingsmetode på forslag som standard, hvis ikke defineret til forslag +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Fri tekst på tilbud WatermarkOnDraftProposal=Vandmærke på udkast til tilbud (intet, hvis tom) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Anmode om en bankkonto destination for forslag @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Anmode om lagerkilde for ordre ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Anmode om købskonto bestemmelsessted ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Salgsordrer ledelsesopsætning OrdersNumberingModules=Ordrer nummerressourcer moduler OrdersModelModule=Bestil dokumenter modeller @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Advarsel, højere værdier bremser dram ModuleActivated=Modul %s er aktiveret og forsinker grænsefladen EXPORTS_SHARE_MODELS=Eksportmodeller deles med alle ExportSetup=Opsætning af modul Eksport +ImportSetup=Setup of module Import InstanceUniqueID=Forekomstets unikke ID SmallerThan=Mindre end LargerThan=Større end @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Lav en anonym Ping '+1' til Dolibarr foundation-serveren (udf FeatureNotAvailableWithReceptionModule=Funktion ikke tilgængelig, når modulmodtagelse er aktiveret EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/da_DK/bills.lang b/htdocs/langs/da_DK/bills.lang index 0eede26674c..b53f6bad382 100644 --- a/htdocs/langs/da_DK/bills.lang +++ b/htdocs/langs/da_DK/bills.lang @@ -59,16 +59,16 @@ SupplierBill=Leverandørfaktura SupplierBills=leverandørfakturaer Payment=Betaling PaymentBack=Tilbagebetaling -CustomerInvoicePaymentBack=Betaling tilbage +CustomerInvoicePaymentBack=Tilbagebetaling Payments=Betalinger PaymentsBack=restitutioner paymentInInvoiceCurrency=i fakturaer valuta PaidBack=Tilbagebetalt DeletePayment=Slet betaling ConfirmDeletePayment=Er du sikker på, at du vil slette denne betaling? -ConfirmConvertToReduc=Vil du konvertere denne %s til en absolut rabat? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Beløbet gemmes mellem alle rabatter og kan bruges som en rabat på en aktuel eller en fremtidig faktura for denne kunde. -ConfirmConvertToReducSupplier=Vil du konvertere denne %s til en absolut rabat? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=Beløbet gemmes blandt alle rabatter og kan bruges som en rabat på en aktuel eller en fremtidig faktura for denne leverandør. SupplierPayments=Leverandørbetalinger ReceivedPayments=Modtagne betalinger @@ -219,7 +219,10 @@ ShowInvoiceSituation=Vis faktura status UseSituationInvoices=Tillad midlertidig faktura UseSituationInvoicesCreditNote=Tillad midlertidig faktura kreditnota Retainedwarranty=Opretholdt garanti +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Tilbageholdt garanti standart procent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=At betale på %s toPayOn=at betale på %s RetainedWarranty=Opholdt garanti @@ -509,7 +512,7 @@ ToMakePayment=Betale ToMakePaymentBack=Tilbagebetalt ListOfYourUnpaidInvoices=Liste over ubetalte fakturaer NoteListOfYourUnpaidInvoices=Bemærk: Denne liste indeholder kun fakturaer til tredjeparter, som du er knyttet til som salgsrepræsentant. -RevenueStamp=Indtægtsstempel +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Denne indstilling er kun tilgængelig, når du opretter en faktura fra fanen "Kund" fra tredjepart YouMustCreateInvoiceFromSupplierThird=Denne indstilling er kun tilgængelig, når du opretter en faktura fra fanen "Sælger" fra tredjepart YouMustCreateStandardInvoiceFirstDesc=Du skal først oprette en standardfaktura og konvertere den til "skabelon" for at oprette en ny skabelonfaktura @@ -575,3 +578,4 @@ AutoFillDateTo=Indstil slutdato for servicelinje med næste faktura dato AutoFillDateToShort=Indstil slutdato MaxNumberOfGenerationReached=Maks antal gener. nået BILL_DELETEInDolibarr=Faktura slettet +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/da_DK/blockedlog.lang b/htdocs/langs/da_DK/blockedlog.lang index 84d8d52f33a..c76c9e72916 100644 --- a/htdocs/langs/da_DK/blockedlog.lang +++ b/htdocs/langs/da_DK/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Uændrede logfiler ShowAllFingerPrintsMightBeTooLong=Vis alle arkiverede logfiler (kan være lang) ShowAllFingerPrintsErrorsMightBeTooLong=Vis alle ikke-gyldige arkivlogfiler (kan være lange) DownloadBlockChain=Download fingeraftryk -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Arkiveret log synes at være gyldig i forhold til den foregående, men kæden blev ødelagt tidligere. AddedByAuthority=Gemt i ekstern myndighed diff --git a/htdocs/langs/da_DK/cashdesk.lang b/htdocs/langs/da_DK/cashdesk.lang index d0d8da4afe5..a2749d3ffcf 100644 --- a/htdocs/langs/da_DK/cashdesk.lang +++ b/htdocs/langs/da_DK/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Tilføj denne artikel RestartSelling=Gå tilbage til salg SellFinished=Salg gennemført PrintTicket=Udskriv billet +SendTicket=Send ticket NoProductFound=Ingen artikel fundet ProductFound=Varen findes NoArticle=Ingen artikel @@ -48,6 +49,7 @@ Footer=Sidefod AmountAtEndOfPeriod=Beløb ved udgangen af perioden (dag, måned eller år) TheoricalAmount=Teoretisk mængde RealAmount=Reelt beløb +CashFence=Cash fence CashFenceDone=Cash fence gjort for perioden NbOfInvoices=Antal fakturaer Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS har brug for produkt kategorier for at fungere OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/da_DK/companies.lang b/htdocs/langs/da_DK/companies.lang index ce8b8830ca0..970ecf1e4e1 100644 --- a/htdocs/langs/da_DK/companies.lang +++ b/htdocs/langs/da_DK/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company " %s" slettet fra databasen. ListOfContacts=Liste over kontakter/adresser ListOfContactsAddresses=Liste over kontakter/adresser ListOfThirdParties=Liste over tredjeparter -ShowCompany=Vis tredjepart ShowContact=Vis kontakt ContactsAllShort=Alle (intet filter) ContactType=Type af kontakt @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Fornavn på salgsrepræsentant SaleRepresentativeLastname=Efternavn på salgsrepræsentant ErrorThirdpartiesMerge=Der opstod en fejl ved sletning af tredjeparter. Kontroller loggen. Ændringer er blevet vendt tilbage. NewCustomerSupplierCodeProposed=Kunde- eller leverandørkode, der allerede er brugt, foreslås en ny kode +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Betalingstype - Kunde PaymentTermsCustomer=Betalingsbetingelser - Kunde diff --git a/htdocs/langs/da_DK/compta.lang b/htdocs/langs/da_DK/compta.lang index ce9ae06ce02..6b19d13f78a 100644 --- a/htdocs/langs/da_DK/compta.lang +++ b/htdocs/langs/da_DK/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Se %sanalyse af betaling%s for en beregning af faktis SeeReportInDueDebtMode=Se %sanalyse af faktura%s for en beregning baseret på kendte registrerede fakturaer, selvom de endnu ikke er opført i hovedbogen. SeeReportInBookkeepingMode=Se %skassekladde report%s til en beregning på kasssekladdens tabelen RulesAmountWithTaxIncluded=- De viste beløb er med alle inkl. moms -RulesResultDue=- Det inkluderer udestående fakturaer, udgifter, moms, donationer, uanset om de er betalt eller ej. Inkluderer også betalte lønninger.
    - Det er baseret på bekræftesesdatoen for fakturaer og moms og på forfaldsdagen for udgifter. For lønninger, der er defineret med Lønmodul, anvendes datoen for betaling. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Den omfatter de reelle betalinger foretaget på fakturaer, udgifter, moms og løn.
    - Det er baseret på betalingsdatoer for fakturaer, udgifter, moms og løn. Donationsdatoen for donation. -RulesCADue=- Det inkluderer kundens fakturaer, uanset om de er betalt eller ej.
    - Det er baseret på valideringsdatoen for disse fakturaer.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Den omfatter alle effektive betalinger af fakturaer modtaget fra kunder.
    - Det er baseret på betalingsdatoen for disse fakturaer
    RulesCATotalSaleJournal=Den omfatter alle kreditlinjer fra salgslisten. RulesAmountOnInOutBookkeepingRecord=Det indeholder post i din hovedbog med kontor, der har gruppen "EXPENSE" eller "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Omsætning faktureret ved salgskurs TurnoverCollectedbyVatrate=Omsætning opkrævet ved salgskurs PurchasebyVatrate=Køb ved salgskurs LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index 8a0ee4bad7e..8eb3fb29a3f 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Fil ikke modtaget helt af serveren. ErrorNoTmpDir=Midlertidig directy %s ikke eksisterer. ErrorUploadBlockedByAddon=Upload blokeret af en PHP / Apache plugin. ErrorFileSizeTooLarge=Filstørrelse er for stor. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Størrelse for lang tid for int type (%s cifre maksimum) ErrorSizeTooLongForVarcharType=Størrelse for lang tid for streng type (%s tegn maksimum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index 5adaa0794ca..692e45b5abb 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Dette PHP understøtter Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=Dette PHP understøtter UTF8 funktioner. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Din PHP max session hukommelse er sat til %s. Dette skulle være nok. PHPMemoryTooLow=Din PHP max-sessionshukommelse er indstillet til %s bytes. Dette er for lavt. Skift din php.ini for at indstille parameteren memory_limit til mindst %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Din PHP-installation understøtter ikke UTF8-funktioner. Dolibarr kan ikke fungere korrekt. Løs dette inden du installerer Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s ikke eksisterer. ErrorGoBackAndCorrectParameters=Gå tilbage og kontroller / korrigér parametrene. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Programmet forsøgte at opgradere selv, men insta YouTryInstallDisabledByFileLock=Programmet forsøgte at opgradere selv, men installerings- / opgraderingssiderne er blevet deaktiveret for sikkerhed (ved at der findes en låsfil install.lock i dolibarr-dokumenter-mappen).
    ClickHereToGoToApp=Klik her for at gå til din ansøgning ClickOnLinkOrRemoveManualy=Klik på følgende link. Hvis du altid ser den samme side, skal du fjerne / omdøbe filen install.lock i dokumentmappen. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/da_DK/link.lang b/htdocs/langs/da_DK/link.lang index fdcf07aeff4..bf3e4545fe4 100644 --- a/htdocs/langs/da_DK/link.lang +++ b/htdocs/langs/da_DK/link.lang @@ -1,10 +1,11 @@ # Dolibarr language file - Source file is en_US - languages -LinkANewFile=Link a new file/document -LinkedFiles=Linked files and documents -NoLinkFound=No registered links -LinkComplete=The file has been linked successfully -ErrorFileNotLinked=The file could not be linked -LinkRemoved=The link %s has been removed -ErrorFailedToDeleteLink= Failed to remove link '%s' -ErrorFailedToUpdateLink= Failed to update link '%s' -URLToLink=URL to link +LinkANewFile=Link en ny fil / et dokument +LinkedFiles=Sammenkædede filer og dokumenter +NoLinkFound=Ingen registrerede links +LinkComplete=Filen er blevet linket korrekt +ErrorFileNotLinked=Filen kunne ikke forbindes +LinkRemoved=Linket %s er blevet fjernet +ErrorFailedToDeleteLink= Kunne ikke fjerne linket ' %s ' +ErrorFailedToUpdateLink= Kunne ikke opdatere linket ' %s ' +URLToLink=URL til link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/da_DK/mails.lang b/htdocs/langs/da_DK/mails.lang index 3aea0b5baea..ac4731f9f95 100644 --- a/htdocs/langs/da_DK/mails.lang +++ b/htdocs/langs/da_DK/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Udgående e-mail opsætning InGoingEmailSetup=Indgående e-mail opsætning -OutGoingEmailSetupForEmailing=Udgående e-mail opsætning (til masse emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Standard udgående e-mail opsætning Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 2f9e64a0919..0496ed4d3b8 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Gem og bliv SaveAndNew=Gem og nyt TestConnection=Test forbindelse ToClone=Klon +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Vælg de data, du vil klone: NoCloneOptionsSpecified=Ingen data at klone defineret. Of=af @@ -829,6 +830,8 @@ Gender=Køn Genderman=Mand Genderwoman=Kvinde ViewList=Vis liste +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obligatorisk Hello=Hallo GoodBye=Farvel @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Vælg dine grafindstillinger for at oprette en graf Measures=Foranstaltninger XAxis=X-akse YAxis=Y-akse +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/da_DK/other.lang b/htdocs/langs/da_DK/other.lang index 2ac1a8ed8d7..47fee11ebee 100644 --- a/htdocs/langs/da_DK/other.lang +++ b/htdocs/langs/da_DK/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL til side WEBSITE_TITLE=Titel WEBSITE_DESCRIPTION=Beskrivelse WEBSITE_IMAGE=Billede -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=nøgleord LinesToImport=Linjer at importere diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index 42ce2440c93..d6fc860186e 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -2,7 +2,7 @@ ProductRef=Produkt ref. ProductLabel=Produktmærke ProductLabelTranslated=Oversat produktmærke -ProductDescription=Product description +ProductDescription=Produkt beskrivelse ProductDescriptionTranslated=Oversat produktbeskrivelse ProductNoteTranslated=Oversat produkt notat ProductServiceCard=Produkter / Tjenester kortet @@ -17,11 +17,13 @@ Create=Opret Reference=Reference NewProduct=Ny vare NewService=Ny ydelse -ProductVatMassChange=Global VAT Update -ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL products and services! +ProductVatMassChange=Global momsopdatering +ProductVatMassChangeDesc=Dette værktøj opdaterer momssatsen, der er defineret på ALLE produkter og tjenester! MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=Denne side kan bruges til at initialisere en stregkode på objekter, der ikke har stregkode defineret. Kontroller, inden opsætningen af ​​modulets stregkode er afsluttet. ProductAccountancyBuyCode=Regnskabskode (køb) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Regnskabskode (salg) ProductAccountancySellIntraCode=Regnskabskode (salg inden for Fællesskabet) ProductAccountancySellExportCode=Regnskabskode (salg eksport) @@ -29,14 +31,14 @@ ProductOrService=Vare eller ydelse ProductsAndServices=Varer og ydelser ProductsOrServices=Varer eller ydelser ProductsPipeServices=Produkter | Services -ProductsOnSale=Products for sale -ProductsOnPurchase=Products for purchase +ProductsOnSale=Produkter til salg +ProductsOnPurchase=Produkter til køb ProductsOnSaleOnly=Varer kun til salg ProductsOnPurchaseOnly=Varer kun til indkøb ProductsNotOnSell=Varer, der ikke er til salg og ikke kan købes ProductsOnSellAndOnBuy=Produkter til salg og til køb -ServicesOnSale=Services for sale -ServicesOnPurchase=Services for purchase +ServicesOnSale=Tjenester til salg +ServicesOnPurchase=Tjenester til køb ServicesOnSaleOnly=Ydelser kun til salg ServicesOnPurchaseOnly=Ydelser kun til indkøb ServicesNotOnSell=Ydelse, der ikke er til salg og ikke kan købes @@ -48,10 +50,10 @@ CardProduct0=Vare CardProduct1=Ydelse Stock=Varelager MenuStocks=Lagre -Stocks=Stocks and location (warehouse) of products +Stocks=Lagre og placering (lager) af produkter Movements=Bevægelser Sell=Sælge -Buy=Purchase +Buy=Køb OnSell=Til salg OnBuy=Til indkøb NotOnSell=Ikke til salg @@ -66,17 +68,17 @@ ProductStatusNotOnBuyShort=Ikke til indkøb UpdateVAT=Opdater moms UpdateDefaultPrice=Opdater standardpris UpdateLevelPrices=Opdater priser for hvert niveau -AppliedPricesFrom=Applied from +AppliedPricesFrom=Anvendt fra SellingPrice=Salgspris -SellingPriceHT=Selling price (excl. tax) +SellingPriceHT=Salgspris (ekskl. Skat) SellingPriceTTC=Salgspris (inkl. moms) -SellingMinPriceTTC=Minimum Selling price (inc. tax) -CostPriceDescription=This price field (excl. tax) can be used to store the average amount this product costs to your company. It may be any price you calculate yourself, for example from the average buying price plus average production and distribution cost. +SellingMinPriceTTC=Minimumssalgspris (inkl. Skat) +CostPriceDescription=Dette prisfelt (ekskl. Skat) kan bruges til at gemme det gennemsnitlige beløb, dette produkt koster for din virksomhed. Det kan være enhver pris, du selv beregner, for eksempel ud fra den gennemsnitlige købspris plus gennemsnitlige produktions- og distributionsomkostninger. CostPriceUsage=Denne værdi kan bruges til margenberegning. SoldAmount=Solgt beløb PurchasedAmount=Købt beløb NewPrice=Ny pris -MinPrice=Min. sell price +MinPrice=Min. salgspris EditSellingPriceLabel=Rediger salgsprisetiket CantBeLessThanMinPrice=Salgsprisen kan ikke være lavere end det minimum, der er tilladt for denne vare (%s uden moms). Denne meddelelse kan også ses, hvis du bruger en for høj rabat. ContractStatusClosed=Lukket @@ -85,7 +87,7 @@ ErrorProductBadRefOrLabel=Forkert værdi for reference eller etiket. ErrorProductClone=Der opstod et problem under forsøg på at klone produktet eller tjenesten. ErrorPriceCantBeLowerThanMinPrice=Fejl, prisen kan ikke være lavere end minimumsprisen. Suppliers=Leverandører -SupplierRef=Vendor SKU +SupplierRef=Sælger SKU ShowProduct=Vis vare ShowService=Vis ydelse ProductsAndServicesArea=Varer og ydelser @@ -94,7 +96,7 @@ ServicesArea=Ydelser ListOfStockMovements=Liste over lagerbevægelser BuyingPrice=Købspris PriceForEachProduct=Produkter med specifikke priser -SupplierCard=Vendor card +SupplierCard=Sælgerkort PriceRemoved=Pris fjernet BarCode=Stregkode BarcodeType=Stregkodetype @@ -102,7 +104,7 @@ SetDefaultBarcodeType=Vælg stregkodetype BarcodeValue=Stregkodeværdi NoteNotVisibleOnBill=Note (ikke synlig på fakturaer, tilbud ...) ServiceLimitedDuration=Hvis varen er en ydelse med begrænset varighed: -MultiPricesAbility=Multiple price segments per product/service (each customer is in one price segment) +MultiPricesAbility=Flere prissegmenter pr. Produkt / service (hver kunde er i et prissegment) MultiPricesNumPrices=Antal priser AssociatedProductsAbility=Aktivér virtuelle produkter (sæt) AssociatedProducts=Virtuelle produkter @@ -116,7 +118,7 @@ CategoryFilter=Kategori filter ProductToAddSearch=Søg produkt for at tilføje NoMatchFound=Ingen match fundet ListOfProductsServices=Liste over produkter / tjenester -ProductAssociationList=List of products/services that are component(s) of this virtual product/kit +ProductAssociationList=Liste over produkter / tjenester, der er komponent (er) i dette virtuelle produkt / kit ProductParentList=Liste over produkter / services med dette produkt som en komponent ErrorAssociationIsFatherOfThis=En af valgte produkt er moderselskab med aktuelle produkt DeleteProduct=Slet en vare/ydelse @@ -129,15 +131,15 @@ ImportDataset_service_1=Ydelser DeleteProductLine=Slet varelinje ConfirmDeleteProductLine=Er du sikker på du vil slette denne varelinje? ProductSpecial=Særlig -QtyMin=Min. purchase quantity -PriceQtyMin=Price quantity min. -PriceQtyMinCurrency=Price (currency) for this qty. (no discount) -VATRateForSupplierProduct=VAT Rate (for this vendor/product) -DiscountQtyMin=Discount for this qty. -NoPriceDefinedForThisSupplier=No price/qty defined for this vendor/product -NoSupplierPriceDefinedForThisProduct=No vendor price/qty defined for this product -PredefinedProductsToSell=Predefined Product -PredefinedServicesToSell=Predefined Service +QtyMin=Min. købsmængde +PriceQtyMin=Prismængde min. +PriceQtyMinCurrency=Pris (valuta) for denne mængde. (ingen rabat) +VATRateForSupplierProduct=Momssats (for denne leverandør / produkt) +DiscountQtyMin=Rabat for denne mængde. +NoPriceDefinedForThisSupplier=Ingen pris / antal defineret for denne leverandør / produkt +NoSupplierPriceDefinedForThisProduct=Der er ikke defineret nogen leverandørpris / antal for dette produkt +PredefinedProductsToSell=Foruddefineret produkt +PredefinedServicesToSell=Foruddefineret service PredefinedProductsAndServicesToSell=Predefinerede produkter / tjenester til salg PredefinedProductsToPurchase=Predefineret produkt til køb PredefinedServicesToPurchase=Predefinerede tjenester til køb @@ -153,8 +155,8 @@ RowMaterial=Råvare ConfirmCloneProduct=Er du sikker på at du vil klone produktet eller tjenesten %s ? CloneContentProduct=Klon alle hovedoplysninger af produkt / service ClonePricesProduct=Klonpriser -CloneCategoriesProduct=Clone tags/categories linked -CloneCompositionProduct=Clone virtual product/service +CloneCategoriesProduct=Klon tags / kategorier knyttet +CloneCompositionProduct=Klon virtuelt produkt / service CloneCombinationsProduct=Klon produkt varianter ProductIsUsed=Denne vare er brugt NewRefForClone=Ref. for nye vare/ydelse @@ -162,10 +164,10 @@ SellingPrices=Salgspriser BuyingPrices=Købspriser CustomerPrices=Kundepriser SuppliersPrices=Leverandørpriser -SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) +SuppliersPricesOfProductsOrServices=Sælgerpriser (af produkter eller tjenester) CustomCode=Told / vare / HS-kode CountryOrigin=Oprindelsesland -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Kort etiket Unit=Enhed p=u. @@ -210,7 +212,7 @@ unitDM=dm unitCM=cm unitMM=mm unitFT=ft -unitIN=in +unitIN=i unitM2=Kvadratmeter unitDM2=dm² unitCM2=cm² @@ -218,7 +220,7 @@ unitMM2=mm² unitFT2=ft² unitIN2=in² unitM3=Kubikmeter -unitDM3=dm³ +unitDM3=dm unitCM3=cm³ unitMM3=mm³ unitFT3=ft³ @@ -238,8 +240,8 @@ UseMultipriceRules=Brug prissegmentregler (defineret i opsætning af produktmodu PercentVariationOver=%% variation over %s PercentDiscountOver=%% rabat over %s KeepEmptyForAutoCalculation=Hold tom for at få dette beregnet automatisk ud fra vægt eller volumen af ​​produkter -VariantRefExample=Examples: COL, SIZE -VariantLabelExample=Examples: Color, Size +VariantRefExample=Eksempler: COL, STØRRELSE +VariantLabelExample=Eksempler: Farve, størrelse ### composition fabrication Build=Fremstille ProductsMultiPrice=Produkter og priser for hvert prissegment @@ -250,18 +252,18 @@ Quarter1=1st. Kvarter Quarter2=2nd. Kvarter Quarter3=3rd. Kvarter Quarter4=4th. Kvarter -BarCodePrintsheet=Print barcode -PageToGenerateBarCodeSheets=With this tool, you can print sheets of barcode stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. +BarCodePrintsheet=Udskriv stregkode +PageToGenerateBarCodeSheets=Med dette værktøj kan du udskrive ark med stregkode-klistermærker. Vælg format for din klistermærkeside, type stregkode og stregkodes værdi, og klik derefter på knappen %s . NumberOfStickers=Antal klistermærker til udskrivning på side PrintsheetForOneBarCode=Udskriv flere klistermærker for en stregkode BuildPageToPrint=Generer side, der skal udskrives FillBarCodeTypeAndValueManually=Udfyld stregkode type og værdi manuelt. FillBarCodeTypeAndValueFromProduct=Udfyld stregkode type og værdi fra stregkode for et produkt. FillBarCodeTypeAndValueFromThirdParty=Udfyld stregkode type og værdi fra stregkode for en tredjepart. -DefinitionOfBarCodeForProductNotComplete=Definition of type or value of barcode not complete for product %s. -DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of barcode non complete for third party %s. -BarCodeDataForProduct=Barcode information of product %s: -BarCodeDataForThirdparty=Barcode information of third party %s: +DefinitionOfBarCodeForProductNotComplete=Definition af type eller værdi af stregkode er ikke komplet for produkt %s. +DefinitionOfBarCodeForThirdpartyNotComplete=Definition af type eller værdi af stregkode ikke komplet til tredjepart %s. +BarCodeDataForProduct=Stregkodeinformation for produktet %s: +BarCodeDataForThirdparty=Stregkodeinformation fra tredjepart %s: ResetBarcodeForAllRecords=Definer stregkodeværdi for alle poster (dette vil også nulstille stregkodeværdi allerede defineret med nye værdier) PriceByCustomer=Forskellige priser for hver kunde PriceCatalogue=En enkelt salgspris pr. Produkt / service @@ -270,28 +272,28 @@ AddCustomerPrice=Tilføj pris ved kunde ForceUpdateChildPriceSoc=Indstil samme pris på kundernes datterselskaber PriceByCustomerLog=Log af tidligere kundepriser MinimumPriceLimit=Minimumsprisen kan ikke være lavere end %s -MinimumRecommendedPrice=Minimum recommended price is: %s +MinimumRecommendedPrice=Minimum anbefalet pris er: %s PriceExpressionEditor=Pris Udtryks Editor PriceExpressionSelected=Udvalgt prisudtryk PriceExpressionEditorHelp1="pris = 2 + 2" eller "2 + 2" til indstilling af prisen. Brug ; at adskille udtryk PriceExpressionEditorHelp2=Du kan få adgang til ExtraFields med variabler som #extrafield_myextrafieldkey # og globale variabler med #global_mycode # -PriceExpressionEditorHelp3=In both product/service and vendor prices there are these variables available:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# -PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
    In vendor prices only: #supplier_quantity# and #supplier_tva_tx# +PriceExpressionEditorHelp3=I både produkt / service og leverandørpriser er der disse variabler tilgængelige:
    # tva_tx # # localtax1_tx # # localtax2_tx # # vægt # # længde # # overflade # # pris_min # +PriceExpressionEditorHelp4=Kun i produkt / service pris: # leverandør_min_pris #
    Kun i sælgerpriser: # leverandør_kvantitet # og # leverandør_tva_tx # a09a4b73917 PriceExpressionEditorHelp5=Tilgængelige globale værdier: PriceMode=Pris-tilstand PriceNumeric=Numero DefaultPrice=Standard pris ComposedProductIncDecStock=Forøg / sænk lagerbeholdning ved forældreændring -ComposedProduct=Child products +ComposedProduct=Børneprodukter MinSupplierPrice=Min købskurs MinCustomerPrice=Mindste salgspris DynamicPriceConfiguration=Dynamisk priskonfiguration -DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. +DynamicPriceDesc=Du kan definere matematiske formler til beregning af kunde- eller leverandørpriser. Sådanne formler kan bruge alle matematiske operatorer, nogle konstanter og variabler. Du kan her definere de variabler, du vil bruge. Hvis variablen har brug for en automatisk opdatering, kan du definere den eksterne URL, så Dolibarr kan opdatere værdien automatisk. AddVariable=Tilføj variabel AddUpdater=Tilføj opdaterer GlobalVariables=Globale variabler VariableToUpdate=Variabel for opdatering -GlobalVariableUpdaters=External updaters for variables +GlobalVariableUpdaters=Eksterne opdateringer til variabler GlobalVariableUpdaterType0=JSON data GlobalVariableUpdaterHelp0=Analyserer JSON-data fra den angivne webadresse, VALUE angiver placeringen af ​​den relevante værdi, GlobalVariableUpdaterHelpFormat0=Formatér for anmodning {"URL": "http://example.com/urlofjson", "VALUE": "array1, array2, targetvalue"} @@ -309,7 +311,7 @@ WarningSelectOneDocument=Vælg mindst et dokument DefaultUnitToShow=Enhed NbOfQtyInProposals=Antal i forslag ClinkOnALinkOfColumn=Klik på et link i kolonne %s for at få en detaljeret visning ... -ProductsOrServicesTranslations=Products/Services translations +ProductsOrServicesTranslations=Produkter / tjenester oversættelser TranslatedLabel=Oversat etiket TranslatedDescription=Oversat beskrivelse TranslatedNote=Oversatte noter @@ -317,10 +319,10 @@ ProductWeight=Vægt for 1 produkt ProductVolume=Volumen for 1 produkt WeightUnits=Vægt enhed VolumeUnits=Volumen enhed -WidthUnits=Width unit -LengthUnits=Length unit -HeightUnits=Height unit -SurfaceUnits=Surface unit +WidthUnits=Bredde enhed +LengthUnits=Længde enhed +HeightUnits=Højdeenhed +SurfaceUnits=Overfladeenhed SizeUnits=Størrelsesenhed DeleteProductBuyPrice=Slet købspris ConfirmDeleteProductBuyPrice=Er du sikker på, at du vil slette denne købspris? @@ -329,11 +331,11 @@ ProductSheet=Vareside ServiceSheet=Serviceblad PossibleValues=Mulige værdier GoOnMenuToCreateVairants=Gå på menu %s - %s for at forberede attributvarianter (som farver, størrelse, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers -ProductSupplierDescription=Vendor description for the product -UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging -QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging +UseProductFournDesc=Tilføj en funktion til at definere beskrivelser af produkter, der er defineret af leverandørerne, ud over beskrivelser til kunder +ProductSupplierDescription=Leverandørbeskrivelse for produktet +UseProductSupplierPackaging=Brug emballage til leverandørpriser (genberegn mængder i henhold til emballage, der er angivet på leverandørpris, når du tilføjer / opdaterer linje i leverandørdokumenter) +PackagingForThisProduct=Emballage +QtyRecalculatedWithPackaging=Mængden af linjen blev beregnet om efter leverandøremballage #Attributes VariantAttributes=Variant attributter @@ -367,17 +369,17 @@ UsePercentageVariations=Brug procentvise variationer PercentageVariation=Procentvis variation ErrorDeletingGeneratedProducts=Der opstod en fejl under forsøg på at slette eksisterende varianter NbOfDifferentValues=Antal forskellige værdier -NbProducts=Number of products +NbProducts=Antal produkter ParentProduct=Forældrevarer HideChildProducts=Skjul varevarianter ShowChildProducts=Vis variantprodukter -NoEditVariants=Go to Parent product card and edit variants price impact in the variants tab +NoEditVariants=Gå til Parent-produktkort og rediger variantens prispåvirkning under fanen Varianter ConfirmCloneProductCombinations=Vil du gerne kopiere alle varianter til det andet overordnede produkt med den givne reference? CloneDestinationReference=Bestemmelsesproduktreference ErrorCopyProductCombinations=Der opstod en fejl under kopiering af varianter af varen ErrorDestinationProductNotFound=Destination produkt ikke fundet ErrorProductCombinationNotFound=Varevariant ikke fundet -ActionAvailableOnVariantProductOnly=Action only available on the variant of product -ProductsPricePerCustomer=Product prices per customers -ProductSupplierExtraFields=Additional Attributes (Supplier Prices) -DeleteLinkedProduct=Delete the child product linked to the combination +ActionAvailableOnVariantProductOnly=Handling kun tilgængelig på variant af produkt +ProductsPricePerCustomer=Produktpriser pr. Kunde +ProductSupplierExtraFields=Yderligere attributter (leverandørpriser) +DeleteLinkedProduct=Slet det underordnede produkt, der er knyttet til kombinationen diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index 132f59035a3..0637091484c 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Tid ListOfTasks=Liste over opgaver GoToListOfTimeConsumed=Gå til listen over tid forbrugt -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planlagt arbejdsbyrde PlannedWorkloadShort=arbejdsbyrde ProjectReferers=Relaterede emner ProjectMustBeValidatedFirst=Projektet skal bekræftes først -FirstAddRessourceToAllocateTime=Tildel en brugerressource til opgaven for at allokere tid +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Indgang pr. Dag InputPerWeek=Indgang pr. Uge InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Seneste %s ændrede projekter OtherFilteredTasks=Andre filtrerede opgaver NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Tillad brugernes kommentarer til opgaver AllowCommentOnProject=Tillad brugernes kommentarer til projekter @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Ny faktura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/da_DK/receiptprinter.lang b/htdocs/langs/da_DK/receiptprinter.lang index 53dfdcad15f..6f52edb7a45 100644 --- a/htdocs/langs/da_DK/receiptprinter.lang +++ b/htdocs/langs/da_DK/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Netværksprinter CONNECTOR_FILE_PRINT=Lokal printer CONNECTOR_WINDOWS_PRINT=Lokal Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Falsk printer til test, gør ingenting CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 CONNECTOR_FILE_PRINT_HELP=/ dev / usb / lp0, / dev / usb / lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: //FooUser:hemmeligt@computernavn/arbejdsgruppe/kvitteringsprinter +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Standard profil PROFILE_SIMPLE=Enkel profil PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Faktura ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Moms ID inden for Fællesskabet +DOL_VALUE_MYSOC_CAPITAL=Egenkapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/da_DK/stripe.lang b/htdocs/langs/da_DK/stripe.lang index 8a6e6cc98fb..7ea3e6c6d93 100644 --- a/htdocs/langs/da_DK/stripe.lang +++ b/htdocs/langs/da_DK/stripe.lang @@ -32,6 +32,7 @@ VendorName=Navn på leverandør CSSUrlForPaymentForm=CSS stilark url for betalingsformular NewStripePaymentReceived=Ny Stripe betaling modtaget NewStripePaymentFailed=Ny Stripe betaling forsøgt men mislykkedes +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Hemmelig testnøgle STRIPE_TEST_PUBLISHABLE_KEY=Udgivelig testnøgle STRIPE_TEST_WEBHOOK_KEY=Webhook testnøgle @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/da_DK/users.lang b/htdocs/langs/da_DK/users.lang index f970ceaa08e..465b8ad793b 100644 --- a/htdocs/langs/da_DK/users.lang +++ b/htdocs/langs/da_DK/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Brugere og deres egenskaber DomainUser=Domænebruger %s Reactivate=Genaktiver CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Tilladelse gives, fordi arvet fra en af en brugers gruppe. Inherited=Arvelige UserWillBeInternalUser=Oprettet brugeren vil blive en intern bruger (fordi der ikke er knyttet til en bestemt tredjepart) @@ -110,3 +110,8 @@ UserLogged=Bruger logget DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/da_DK/website.lang b/htdocs/langs/da_DK/website.lang index 317c15c1b37..c6b7dec2547 100644 --- a/htdocs/langs/da_DK/website.lang +++ b/htdocs/langs/da_DK/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Se side i ny fane SetAsHomePage=Angiv som hjemmeside RealURL=Rigtig webadresse ViewWebsiteInProduction=Se websitet ved hjælp af hjemmesider -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS= Brug med PHP-integreret server
    På udvikler miljø kan du helst prøve webstedet med den indbyggede PHP-server (PHP 5.5 påkrævet) ved at køre
    php -S 0.0. 0,0: 8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Kontroller også, at den virtuelle vært har tilladelse %s på filer til
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Aktivér webstedets kontobord WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=Du skal først definere standard startside -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Kun udgave af HTML-kilde er mulig, når indhold blev taget fra et eksternt websted GrabImagesInto=Grib også billeder fundet i css og side. ImagesShouldBeSavedInto=Billeder skal gemmes i biblioteket @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/de_AT/admin.lang b/htdocs/langs/de_AT/admin.lang index 4afdce2c5dd..11e60ccc00b 100644 --- a/htdocs/langs/de_AT/admin.lang +++ b/htdocs/langs/de_AT/admin.lang @@ -19,8 +19,6 @@ InternalUsers=interne Nutzer ExternalUsers=externe Nutzer GUISetup=Anischt NextValue=Nächste Wert -AntiVirusCommandExample=Beispiel für ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Beispiel für ClamAV: /usr/bin/clamscan -AntiVirusParamExample=Beispiel für ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" URL=URL oder Link YouCanSubmitFile=You can upload the .zip file of module package from here: Module50Name=Produkte und Services diff --git a/htdocs/langs/de_AT/bills.lang b/htdocs/langs/de_AT/bills.lang index d15ee7cc57c..d250ef21a6a 100644 --- a/htdocs/langs/de_AT/bills.lang +++ b/htdocs/langs/de_AT/bills.lang @@ -6,6 +6,8 @@ InvoiceProFormaAsk=Proformarechnung InvoiceProFormaDesc=Proformarechnung entspricht dem Wert der echten Rechnung, wird aber nicht verbucht. ConsumedBy=Consumed von CardBill=Rechnungskarte +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund BillShortStatusValidated=Bestätigt BillShortStatusClosedUnpaid=geschlossen ValidateBill=Validate Rechnung @@ -21,7 +23,7 @@ ValidateInvoice=Validate Rechnung DisabledBecausePayments=Nicht möglich, da gibt es einige Zahlungen CantRemovePaymentWithOneInvoicePaid=Kann die Zahlung nicht entfernen, da es zumindest auf der Rechnung bezahlt klassifiziert PayedByThisPayment=Bezahlt durch diese Zahlung -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template TerreNumRefModelDesc1=Zurück NUMERO mit Format %syymm-nnnn für Standardrechnungen und syymm%-nnnn für Gutschriften, wo ist JJ Jahr, MM Monat und nnnn ist eine Folge ohne Pause und keine Rückkehr auf 0 TypeContact_facture_internal_SALESREPFOLL=Repräsentative Follow-up Debitorenrechnung TypeContact_facture_external_BILLING=Debitorenrechnung Kontakt diff --git a/htdocs/langs/de_AT/other.lang b/htdocs/langs/de_AT/other.lang index 51e1f322638..a3a26cd55b0 100644 --- a/htdocs/langs/de_AT/other.lang +++ b/htdocs/langs/de_AT/other.lang @@ -21,4 +21,3 @@ EMailTextInterventionValidated=Eingriff %s freigegeben ThisIsListOfModules=Dies ist eine Liste der Module, die von dieser Demo-Profil (nur gängigsten Module sind in dieser Demo) vorgewählt. Bearbeiten, um eine personalisierte Demo haben und klicken Sie auf "Start". SelectAColor=Wählen Sie eine Farbe WEBSITE_TITLE=Titel -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. diff --git a/htdocs/langs/de_CH/admin.lang b/htdocs/langs/de_CH/admin.lang index 7fcee10eb8a..c1aba0657cb 100644 --- a/htdocs/langs/de_CH/admin.lang +++ b/htdocs/langs/de_CH/admin.lang @@ -53,9 +53,7 @@ NextValueForDeposit=Nächster Wert (Anzahlung) MustBeLowerThanPHPLimit=Hinweis: Deine PHP Konfigurationslimite für Uploads ist aktuell %s %s pro Datei - unabhängig vom Wert dieses Parameters. NoMaxSizeByPHPLimit=Hinweis: In Ihren PHP-Einstellungen sind keine Grössenbeschränkungen hinterlegt MaxSizeForUploadedFiles=Maximale Grösse für Dateiuploads (0 verbietet jegliche Uploads) -AntiVirusCommandExample=Beispiel für ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Beispiel für ClamAV: /usr/bin/clamscan AntiVirusParam=Weitere Parameter auf der Kommandozeile -AntiVirusParamExample=Beispiel für ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" MultiCurrencySetup=Mehrfachwährungen konfigurieren MenuIdParent=Eltern-Menü-ID DetailPosition=Reihungsnummer für definition der Menüposition @@ -94,7 +92,6 @@ AddDropDatabase=DROP DATABASE Befehl hinzufügen AddDropTable=DROP TABLE Befehl hinzufügen IgnoreDuplicateRecords=Fehler durch doppelte Zeilen ignorieren (INSERT IGNORE) BoxesDesc=Boxen (Widgets) sind Informationsblöcke, die man für personalisierte Ansichten verwenden kann. Gib bei einer Box an, auf welcher Ansicht Sie erscheinen soll und Klicke auf "Aktivieren" - oder entferne eine Box über das Papierkorbsymbol. -ModulesDesc=Über Module steuerst du die Funktionsvielfalt deiner Dolibarr - Umgebung. Schalte die gewünschten Module einfach mit dem Schiebeschalter daneben ein und aus. Setze dann benutzerspezifische Rechte für deine Anwender. ModulesMarketPlaceDesc=Sie finden weitere Module auf externen Websites ModulesDeployDesc=Hier kannst du Module und Apps von Drittanbietern in deine Umgebung einbinden. Dazu braucht es lokale Schreibrechte auf deiner Webserverumgebung. Diese Module erscheinen danach hier im Tab "%s" ModulesMarketPlaces=Suche externe Module @@ -415,8 +412,6 @@ CompanyInfo=Firma / Organisation CompanyZip=PLZ DoNotSuggestPaymentMode=Nicht vorschlagen SetupDescription1=Der Setupbereich erlaubt das konfigurieren ihrer Dolibarr Installation vor der ersten Verwendung. -SetupDescription3=%s -> %s
    Grundlegende Parameter zum Anpassen des Standardverhaltens Ihrer Anwendung (z. B. für länderbezogene Funktionen). -SetupDescription4=Die Parameter im Menü %s-> %s sind notwenig, da Dolibarr ein modulares monolithisches ERP/CRM-System ist. Neue Funktionen werden für jedes aktivierte Modul zum Menü hinzugefügt. InfoDolibarr=Infos Dolibarr InfoBrowser=Infos Browser InfoOS=Infos OS diff --git a/htdocs/langs/de_CH/bills.lang b/htdocs/langs/de_CH/bills.lang index 58df948fa26..c653f5b376c 100644 --- a/htdocs/langs/de_CH/bills.lang +++ b/htdocs/langs/de_CH/bills.lang @@ -24,14 +24,11 @@ NoInvoiceToCorrect=Ich habe keine Rechnung zu korrigieren. InvoiceHasAvoir=Korrigiert durch eine oder mehrere Gutschriften CardBill=Rechnungsübersicht InvoiceLine=Rechnungsposition -CustomerInvoicePaymentBack=Gutschrift paymentInInvoiceCurrency=In Rechnungswährung PaidBack=Zurückbezahlt DeletePayment=Zahlung löschen ConfirmDeletePayment=Nur zur Sicherheit: Willst du diese Zahlung wirklich löschen? -ConfirmConvertToReduc=Willst du diese %s in einen absoluten Rabatt umwandeln? ConfirmConvertToReduc2=Der Betrag wird in den Gutschriften gespeichert und kann für diesen Kunden in einer offenen oder künftigen Rechnung als Rabatt verwendet werden. -ConfirmConvertToReducSupplier=Willst du diese %s in einen Rabatt umwandeln? ConfirmConvertToReducSupplier2=Der Betrag wird in den Gutschriften gespeichert und kann für diesen Lieferanten in einer offenen oder künftigen Rechnung als Rabatt verwendet werden. SupplierPayments=Lieferantenzahlungen ReceivedPayments=Zahlungseingang @@ -179,7 +176,7 @@ ChequesArea=Schecks ChequeDeposits=Scheckeinlagen NoteListOfYourUnpaidInvoices=Bitte beachten: Diese Liste enthält nur Rechnungen für Geschäftspartner, bei denen Sie als Vertreter angegeben sind. YouMustCreateStandardInvoiceFirstDesc=Sie müssen zuerst eine Standardrechnung Erstellen und diese dann in eine Rechnungsvorlage umwandeln -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template TypeContact_invoice_supplier_external_BILLING=Lieferanten - Rechnungskontakt TypeContact_invoice_supplier_external_SHIPPING=Lieferanten - Versandkontakt InvoiceFirstSituationAsk=Erste Situation Rechnung diff --git a/htdocs/langs/de_CH/companies.lang b/htdocs/langs/de_CH/companies.lang index 04657d94f4e..29c7c3a46b4 100644 --- a/htdocs/langs/de_CH/companies.lang +++ b/htdocs/langs/de_CH/companies.lang @@ -128,7 +128,6 @@ RequiredIfCustomer=Erforderlich falls Geschäftspartner Kunde oder Interessent i RequiredIfSupplier=Erforderlich, wenn der Partner Lieferant ist ValidityControledByModule=Durch Modul validiert ListOfThirdParties=Liste der Geschäftspartner -ShowCompany=Geschäftspartner anzeigen ShowContact=Zeige Kontaktangaben ContactsAllShort=Alle (Kein Filter) ContactForOrdersOrShipments=Bestellungs- oder Lieferkontakt diff --git a/htdocs/langs/de_CH/compta.lang b/htdocs/langs/de_CH/compta.lang index eecf64ff1d5..1690ed0c885 100644 --- a/htdocs/langs/de_CH/compta.lang +++ b/htdocs/langs/de_CH/compta.lang @@ -18,7 +18,6 @@ LastCheckReceiptShort=Letzte %s Scheckeinnahmen NoWaitingChecks=Keine Schecks warten auf Einlösung. CalcModeVATDebt=Modus %s Mwst. auf Engagement Rechnungslegung %s. CalcModeLT2Rec=Modus %sIRPF aufLieferantenrechnungen%s -RulesResultDue=- Dies beinhaltet ausstehende Rechnungen, Aufwendungen, Mehrwertsteuern, Abgaben, ob sie bezahlt wurden oder nicht. Auch die gezahlten Gehälter.
    - Es gilt das Freigabedatum von den Rechnungen und MwSt., sowie das Fälligkeitsdatum für Aufwendungen. Für Gehälter definiert mit dem Modul Löhne, wird das Valutadatum der Zahlung verwendet. LT2ReportByCustomersES=Bericht von Geschäftspartner EKSt. VATReportByCustomersInInputOutputMode=Bericht zur vereinnahmten und bezahlten MwSt. nach Kunden SeeVATReportInInputOutputMode=Siehe %sMwSt.-Einnahmen%s-Bericht für eine standardmässige Berechnung diff --git a/htdocs/langs/de_CH/orders.lang b/htdocs/langs/de_CH/orders.lang index d9718fd8eb6..d3413475a4d 100644 --- a/htdocs/langs/de_CH/orders.lang +++ b/htdocs/langs/de_CH/orders.lang @@ -43,7 +43,7 @@ TypeContact_order_supplier_external_SHIPPING=Lieferanten - Versandkontakt TypeContact_order_supplier_external_CUSTOMER=Lieferanten - Nachkalkulationskontakt Error_OrderNotChecked=Keine zu verrechnenden Bestellungen ausgewählt OrderByEMail=E-Mail -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) +PDFEinsteinDescription=A complete order model PDFEratostheneDescription=A complete order model PDFProformaDescription=A complete Proforma invoice template OrderCreation=Erstellen einer Bestellung diff --git a/htdocs/langs/de_CH/other.lang b/htdocs/langs/de_CH/other.lang index bc96b56d634..4f942e32521 100644 --- a/htdocs/langs/de_CH/other.lang +++ b/htdocs/langs/de_CH/other.lang @@ -26,5 +26,4 @@ FileIsTooBig=Dateien sind zu gross WebsiteSetup=Einstellungen des Webseitenmoduls WEBSITE_PAGEURL=URL für Seite WEBSITE_TITLE=Titel -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. WEBSITE_KEYWORDS=Stichworte diff --git a/htdocs/langs/de_CH/products.lang b/htdocs/langs/de_CH/products.lang index f0153258f68..0f2072b4e04 100644 --- a/htdocs/langs/de_CH/products.lang +++ b/htdocs/langs/de_CH/products.lang @@ -69,7 +69,6 @@ CustomerPrices=Kunden Preise SuppliersPrices=Lieferantenpreise SuppliersPricesOfProductsOrServices=Anbieterpreise CustomCode=Zolltarifnummer (z.B. HSN) -Nature=Produktart (Rohmaterial / Fertigprodukt) kilogram=Kilo unitP=Teil unitSET=Satz diff --git a/htdocs/langs/de_CH/users.lang b/htdocs/langs/de_CH/users.lang index a7baf78b067..e3216933e71 100644 --- a/htdocs/langs/de_CH/users.lang +++ b/htdocs/langs/de_CH/users.lang @@ -22,7 +22,6 @@ LinkedToDolibarrThirdParty=Mit Geschäftspartner verknüpft CreateDolibarrThirdParty=Neuen Geschäftspartner erstellen ExportDataset_user_1=Benutzer und Eigenschaften CreateInternalUserDesc=Hier kannst du interne Benutzer erzeugen.\nExterne Benutzer erzeugst du in den Kontakten deiner Partner. -InternalExternalDesc=Ein interner Benutzer gehört zu deiner Firma.\nExterne User sind Partner, die Zugriff auf das System erhalten.\nSo oder wird die Reichweite mit Benutzerberechtigungen gesteuert. Man kann internen und externen Benutzern auch verschiedene Ansichten und Menus zuweisen. PermissionInheritedFromAGroup=Berechtigung durch eine Gruppenzugehörigkeit gererbt. UserWillBeInternalUser=Erstellter Benutzer ist ein intern Benutzer (da mit keinem bestimmten Geschäftspartner verknüpft) UserWillBeExternalUser=Erstellter Benutzer ist ein externer Benutzer (da mit einem bestimmten Geschäftspartner verknüpft) diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index 715f5a0c6ba..be500d597ed 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Hinweis: Ihre PHP-Einstellungen beschränken die NoMaxSizeByPHPLimit=Hinweis: In Ihren PHP-Einstellungen sind keine Größenbeschränkungen hinterlegt MaxSizeForUploadedFiles=Maximale Größe für Dateiuploads (0 verbietet jegliche Uploads) UseCaptchaCode=Captcha-Code auf der Anmeldeseite verwenden -AntiVirusCommand= Vollständiger Pfad zum installierten Virenschutz -AntiVirusCommandExample= Beispiel für ClamWin: c:\\Programme (x86)\\ClamWin\\bin\\clamscan.exe
    Beispiel für ClamAV: /usr/bin/clamscan +AntiVirusCommand=Vollständiger Pfad zum installierten Virenschutz +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Weitere Kommandozeilen-Parameter für den Virenschutz -AntiVirusParamExample= Beispiel für ClamWin: --database="C:\\Programme (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Buchhaltungsmoduls-Einstellungen UserSetup=Benutzerverwaltung Einstellungen MultiCurrencySetup=Modul Mehrfachwährungen - Einstellungen @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funktion in der Demoversion deaktiviert FeatureAvailableOnlyOnStable=Diese Funktion steht nur in offiziellen stabilen Versionen zur Verfügung BoxesDesc=Boxen sind Komponenten, die einige Informationen anzeigen, die Sie hinzufügen können, um einige Seiten zu personalisieren. Sie können wählen, ob Sie die Box anzeigen möchten oder nicht, indem Sie die Zielseite auswählen und auf 'Aktivieren' klicken oder indem Sie auf den Papierkorb klicken, um es zu deaktivieren. OnlyActiveElementsAreShown=Nur Elemente aus aktiven Module werden angezeigt. -ModulesDesc=Die Module / Anwendungen bestimmen, welche Funktionen in Dolibarr verfügbar sind. Für einige Module müssen den Benutzern nach der Aktivierung des Moduls Berechtigungen erteilt werden. Klicken Sie auf die Schaltfläche Ein / Aus (am Ende der Modulzeile), um ein Modul / eine Anwendung zu aktivieren / deaktivieren. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Sie finden weitere Module auf externen Web-Sites... ModulesDeployDesc=DateiWenn es die Berechtigungen in Ihrem Dateisystem zulassen, können Sie mit diesem Tool ein externes Modul bereitstellen. Das Modul ist dann auf der Registerkarte %s sichtbar. ModulesMarketPlaces=Zusatzmodule / Erweiterungen @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatibel mit Version %s NotCompatible=Dieses Modul scheint nicht mit ihrer Dolibarr Version %s kompatibel zu sein. (Min %s - Max %s). CompatibleAfterUpdate=Dieses Modul benötigt ein Upgrade ihrer Dolibarr Installation %s (Min %s - Max %s). SeeInMarkerPlace=siehe Marktplatz +SeeSetupOfModule=Finden Sie im Modul-Setup %s Updated=Aktualisiert Nouveauté=Neuheit AchatTelechargement=Kaufen / Herunterladen @@ -221,6 +222,7 @@ DoliPartnersDesc=Liste der Unternehmen, die speziell entwickelte Module oder Fun WebSiteDesc=Externe Webseiten mit zusätzlichen Add-on (nicht zum Grundumfang gehörend) Modulen ... DevelopYourModuleDesc=einige Lösungen um eigene Module zu entwickeln ... URL=Link +RelativeURL=Relative URL BoxesAvailable=Verfügbare Boxen BoxesActivated=Boxen aktiviert ActivateOn=Aktiv ab @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Leer lassen für Standardwert DefaultLink=Standardlink SetAsDefault=Als Standard setzen ValueOverwrittenByUserSetup=Achtung, dieser Wert kann durch den Benutzer überschrieben werden (jeder kann seine eigene ClickToDial-URL setzen) -ExternalModule=Externes Modul - im Verzeichnis %s installiert +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=alle Barcodes für Geschäftspartner initialisieren BarcodeInitForProductsOrServices=Alle Barcodes für Produkte oder Services initialisieren oder zurücksetzen CurrentlyNWithoutBarCode=Zur Zeit gibt es %s Datensätze in %s %s ohne Barcode. @@ -947,7 +950,7 @@ DictionaryCanton=Bundesland/Kanton DictionaryRegion=Regionen DictionaryCountry=Länder DictionaryCurrency=Währungen -DictionaryCivility=Titel & Anreden +DictionaryCivility=Honorific titles DictionaryActions=Typen von Kalender-Ereignissen DictionarySocialContributions=Arten von Steuern oder Sozialabgaben DictionaryVAT=USt.-Sätze @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Die vorgeschlagene USt. ist standardmäßig 0 für alle Fälle VATIsUsedExampleFR=In Frankreich sind damit Unternehmen oder Organisationen gemeint, die ein echtes Steuersystem haben (vereinfacht oder normal). Ein System, in dem die Mehrwertsteuer deklariert wird. VATIsNotUsedExampleFR=In Frankreich bedeutet es, dass keine Umsatzsteuer ausgewiesen wird oder Unternehmen, Organisationen oder Freiberufler, die als Kleinunternehmer tätig sind (Privilegiensteuer), Umsatzsteuern zahlen ohne selbst Umsatzsteuer auszuweisen. Diese Auswahl zeigt den Hinweis "Umsatzsteuer nicht anwendbar - Artikel-293B des CGI" auf Rechnungen an. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Zweite Steuer nicht nutzen LocalTax1IsUsedDesc=Verwende eine zweite Art von Steuer (andere als erste) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Die Einkommenssteuerrate beim Erstellen von Interessenten, LocalTax2IsNotUsedDescES=Standardmäßig ist die vorgeschlagene Einkommenssteuer 0. Ende der Regel. LocalTax2IsUsedExampleES=In Spanien, Freiberufler und unabhängigen Fachleuten, die ihre Dienstleistungen und Unternehmen, die das Steuersystem von Modulen gewählt haben. LocalTax2IsNotUsedExampleES=In Spanien sind das Unternehmen, die nicht dem Steuersystem für Module unterliegen. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Berichte über lokale Steuern CalcLocaltax1=Sales - Käufe CalcLocaltax1Desc=Lokale Steuer-Reports werden mit der Differenz von lokalen Verkaufs- und Einkaufs-Steuern berechnet @@ -1018,6 +1025,7 @@ CalcLocaltax2=Einkauf CalcLocaltax2Desc=Lokale Steuer-Reports sind die Summe der lokalen Steuern auf Einkäufe CalcLocaltax3=Verkauf CalcLocaltax3Desc=Lokale Steuer-Reports sind die Summe der lokalen Steuern auf Verkäufe +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Bezeichnung wird verwendet falls keine Übersetzung für den Code vorhanden ist. LabelOnDocuments=Bezeichnung auf Dokumenten LabelOrTranslationKey=Bezeichung oder Übersetzungsschlüssel @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=zu genehmigende Spesenabrechnung Delays_MAIN_DELAY_HOLIDAYS=Zu genehmigende Urlaubsanträge SetupDescription1=Bevor Sie mit Dolibarr arbeiten können müssen grundlegende Einstellungen getätigt und Module freigeschalten / konfiguriert werden. SetupDescription2=Die folgenden zwei Punkte sind obligatorisch: -SetupDescription3=%s -> %s. Basis-Parameter um das Standardverhalten Ihrer Anwendung anzupassen (beispielsweise länderbezogene Funktionen). -SetupDescription4=%s -> %s
    Diese Software ist ein Paket aus vielen Modulen/Anwendungen, alle mehr oder weniger unabhängig. Die für Ihre Bedürfnisse notwendigen Module müssen aktiviert und konfiguriert sein. Neue Einträge/Optionen werden der Menüs bei der Modulaktivierung hinzugefügt. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Andere Setup-Menüs verwalten optionale Parameter. LogEvents=Protokollierte Ereignisse Audit=Protokoll @@ -1128,7 +1136,7 @@ LogEventDesc=Aktivieren Sie die Protokollierung für bestimmte Sicherheitsereign AreaForAdminOnly=Einstellungen können nur durch
    Administratoren
    verändert werden. SystemInfoDesc=Verschiedene systemrelevante, technische Informationen - Lesemodus und nur für Administratoren sichtbar. SystemAreaForAdminOnly=Dieser Bereich steht ausschließlich Administratoren zur Verfügung. Keine der Benutzerberechtigungen kann dies ändern. -CompanyFundationDesc=Bearbeiten Sie die Informationen des Unternehmens oder Institution. Klicken Sie auf "%s" am Ende der Seite. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Falls Sie einen externen Buchhalter/Treuhänder haben, können Sie hier dessen Informationen hinterlegen. AccountantFileNumber=Buchhalter-Code DisplayDesc=Hier können Parameter zum Aussehen und Verhalten von Dolibarr angepasst werden. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Regeln für die Erstellung und Freigabe von Passwörte DisableForgetPasswordLinkOnLogonPage='Passwort vergessen'-Link nicht auf der Anmeldeseite anzeigen UsersSetup=Benutzermoduleinstellungen UserMailRequired=Für die Anlage eines neuen Benutzers ist eine E-Mail-Adresse erforderlich +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Personal Modul Einstellungen ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=PDF-Rechnungsvorlagen BillsPDFModulesAccordindToInvoiceType=Rechnung dokumentiert Modelle nach Rechnungsart PaymentsPDFModules=Zahlungsvorlagen ForceInvoiceDate=Rechnungsdatum ist zwingend Freigabedatum -SuggestedPaymentModesIfNotDefinedInInvoice=Empfohlene Zahlungsart für Rechnung falls nicht in gesondert definiert +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Bankkonto für Bezahlung per Überweisung SuggestPaymentByChequeToAddress=Adresse für Zahlung per Scheck FreeLegalTextOnInvoices=Freier Rechtstext für Rechnungen @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Einstellungen für Lieferantenzahlungen PropalSetup=Angebotsmoduleinstellungen ProposalsNumberingModules=Nummernvergabe für Angebote ProposalsPDFModules=Dokumentenvorlage(n) -SuggestedPaymentModesIfNotDefinedInProposal=Empfohlene Zahlungsart für Angebote, falls im Angebot nicht gesondert definiert +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Freier Rechtstext auf Angeboten WatermarkOnDraftProposal=Wasserzeichen auf Angebotsentwurf (leerlassen wenn keines benötigt wird) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Fragen Sie nach dem Bankkonto bei einem Angebot @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Frage nach Lager für Aufträge ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Frage nach der Ziel-Bankverbindung der Lieferantenbestellung ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Einstellungen für die Verwaltung von Verkaufsaufträgen OrdersNumberingModules=Nummernvergabe für Bestellungen OrdersModelModule=Dokumentenvorlage(n) @@ -1720,7 +1731,7 @@ MultiCompanySetup=Einstellungen des Modul Mandanten ##### Suppliers ##### SuppliersSetup=Einrichtung des Lieferantenmoduls SuppliersCommandModel=Vollständige Bestellvorlage -SuppliersCommandModelMuscadet=Vollständige Bestellvorlage (alte Implementierung der Cornas-Vorlage) +SuppliersCommandModelMuscadet=Vollständige Bestellvorlage SuppliersInvoiceModel=Vollständige Vorlage der Lieferantenrechnung SuppliersInvoiceNumberingModel=Lieferantenrechnungen Zähl-Modell IfSetToYesDontForgetPermission=Wenn ein Wert ungleich Null festgelegt ist, vergessen Sie nicht, Berechtigungen für Gruppen oder Benutzer bereitzustellen, die für die zweite Genehmigung zugelassen sind @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warnung, höhere Werte verlangsamen die ModuleActivated=Modul %s is aktiviert und verlangsamt die Overfläche EXPORTS_SHARE_MODELS=Exportmodelle sind für jeden zugänglich. ExportSetup=Einrichtung Modul Export +ImportSetup=Setup of module Import InstanceUniqueID=Eindeutige ID dieser Instanz SmallerThan=Kleiner als LargerThan=Größer als @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Einen anonymen Ping '+1' an den Dolibarr-Foundation-Server (ei FeatureNotAvailableWithReceptionModule=Funtion nicht verfügbar, wenn Modul Wareneingang aktiviert ist EmailTemplate=E-Mail-Vorlage EMailsWillHaveMessageID=E-Mails haben ein Schlagwort "Referenzen", das dieser Syntax entspricht -PDF_USE_ALSO_LANGUAGE_CODE=Wenn der Text im PDF-Dokument in 2 unterschiedlichen Sprachen enthalten sein soll, also 2 unterschiedlichen Sprachen im gleichen PDF, muss diese zweite Sprache hier angegeben werden so dass das erzeugte PDF 2 unterschiedliche Sprachen in einem Dokument aufweist. Die beim PDF erzeugen eingestellte und die hier angegebene (nur wenige PDF-Vorlagen unterstützen das). Leer lassen, um nur eine Sprache im PDF zu verwenden. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Gib hier den Code für ein FontAwesome icon ein. Wenn du FontAwesome nicht kennst, kannst du den Standard 'fa-address-book' benutzen. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index 268e655376c..fbcf4801dab 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Lieferantenrechnungen SupplierBill=Lieferantenrechnung SupplierBills=Lieferantenrechnungen Payment=Zahlung -PaymentBack=Rückzahlung -CustomerInvoicePaymentBack=Rückzahlung +PaymentBack=Rückerstattung +CustomerInvoicePaymentBack=Rückerstattung Payments=Zahlungen PaymentsBack=Rückerstattungen paymentInInvoiceCurrency=in Rechnungswährung PaidBack=Zurück bezahlt DeletePayment=Lösche Zahlung ConfirmDeletePayment=Möchten Sie diese Zahlung wirklich löschen? -ConfirmConvertToReduc=Möchten Sie diese %s in einen absoluten Rabatt umwandeln? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Der Betrag wird unter allen Rabatten gespeichert und kann als Rabatt für eine aktuelle oder zukünftige Rechnung für diesen Kunden verwendet werden. -ConfirmConvertToReducSupplier=Möchten Sie diese %s in einen absoluten Rabatt umwandeln? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=Der Betrag wird unter allen Rabatten gespeichert und kann als Rabatt für eine aktuelle oder zukünftige Rechnung dieses Anbieters verwendet werden. SupplierPayments=Lieferanten Zahlung ReceivedPayments=Erhaltene Zahlungen @@ -219,7 +219,10 @@ ShowInvoiceSituation=Zeige Fortschritt-Rechnung UseSituationInvoices=Fortschritt-Rechnung zulassen UseSituationInvoicesCreditNote=Fortschritt-Rechnungsgutschrift zulassen Retainedwarranty=Zurückbehaltene Garantie +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Zurückbehaltene Garantie in Prozent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Zu zahlen am %s toPayOn=zu zahlen am %s RetainedWarranty=Zurückbehaltene Garantie @@ -509,11 +512,11 @@ ToMakePayment=Bezahlen ToMakePaymentBack=Rückzahlung ListOfYourUnpaidInvoices=Liste aller unbezahlten Rechnungen NoteListOfYourUnpaidInvoices=Bitte beachten: Diese Liste enthält nur Rechnungen an Partner, bei denen Sie als Vertreter angegeben sind. -RevenueStamp=Steuermarke +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Diese Option ist nur verfügbar, wenn Sie eine Rechnung auf der Registerkarte "Kunde" eines Drittanbieters erstellen YouMustCreateInvoiceFromSupplierThird=Diese Option ist nur verfügbar, wenn Sie eine Rechnung auf der Registerkarte "Kreditor" eines Drittanbieters erstellen YouMustCreateStandardInvoiceFirstDesc=Zuerst muss eine Standardrechnung erstellt werden, dies kann dann in eine neue Rechnungsvorlage konvertiert werden -PDFCrabeDescription=Rechnung PDF-Vorlage Crabe. Eine vollständige Rechnungsvorlage (alte Implementierung der Sponge-Vorlage) +PDFCrabeDescription=Rechnung PDF-Vorlage Crabe. Eine vollständige Rechnungsvorlage PDFSpongeDescription=Rechnung PDF-Vorlage Sponge. Eine vollständige Rechnungsvorlage PDFCrevetteDescription=PDF Rechnungsvorlage Crevette. Vollständige Rechnungsvolage für normale Rechnungen TerreNumRefModelDesc1=Liefert eine Nummer mit dem Format %syymm-nnnn für Standard-Rechnungen und %syymm-nnnn für Gutschriften, wobei yy=Jahr, mm=Monat und nnnn eine lückenlose Folge ohne Überlauf auf 0 ist @@ -575,3 +578,4 @@ AutoFillDateTo=Enddatum der Dienstleistung auf das Rechnungsdatum setzen AutoFillDateToShort=Enddatum festlegen MaxNumberOfGenerationReached=Maximal Anzahl Generierungen erreicht BILL_DELETEInDolibarr=Rechnung gelöscht +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/de_DE/blockedlog.lang b/htdocs/langs/de_DE/blockedlog.lang index d77cda25f7e..b42f38edc50 100644 --- a/htdocs/langs/de_DE/blockedlog.lang +++ b/htdocs/langs/de_DE/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unveränderbare Logs ShowAllFingerPrintsMightBeTooLong=Unveränderbare Logs anzeigen (kann lange dauern...) ShowAllFingerPrintsErrorsMightBeTooLong=Non valid Logs anzeigen (kann lange dauern) DownloadBlockChain=Fingerprints herunterladen -KoCheckFingerprintValidity=Archived Log eintrag ist nicht gültig. Jemand hat den Originellen Eintrag verändert (Hacker ?), oder der originelle Eintrag wurde gelöscht. +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Der archivierte Logeintrag ist gültig. Die Daten in dieser Zeile wurden nicht geändert und der Eintrag folgt dem vorherigen. OkCheckFingerprintValidityButChainIsKo=Der archivierte Logeintrag scheint im Vergleich zum vorherigen gültig zu sein, aber die vorangehende Eintragskette wurde beschädigt. AddedByAuthority=In der Remote-Instanz gespeichert diff --git a/htdocs/langs/de_DE/cashdesk.lang b/htdocs/langs/de_DE/cashdesk.lang index 6e1862a76e5..ea36609a634 100644 --- a/htdocs/langs/de_DE/cashdesk.lang +++ b/htdocs/langs/de_DE/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=In Warenkorb legen RestartSelling=zurück zum Verkauf SellFinished=Verkauf abgeschlossen PrintTicket=Kassenbon drucken +SendTicket=Send ticket NoProductFound=Kein Artikel gefunden ProductFound=Produkt gefunden NoArticle=Kein Artikel @@ -48,6 +49,7 @@ Footer=Fusszeile AmountAtEndOfPeriod=Betrag am Ende der Periode (Tag, Monat oder Jahr) TheoricalAmount=Theoretischer Betrag RealAmount=Realer Betrag +CashFence=Cash fence CashFenceDone=Kassenschnitt im Zeitraum durchgeführt NbOfInvoices=Anzahl der Rechnungen Paymentnumpad=Art des Pads zur Eingabe der Zahlung @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS benötigt Produktkategorien, um zu funktionieren OrderNotes=Bestellhinweise CashDeskBankAccountFor=Standardkonto für Zahlungen in NoPaimementModesDefined=In der TakePOS-Konfiguration ist kein Zahlungsmodus definiert -TicketVatGrouped=Mehrwertsteuer nach Ticketangaben gruppieren -AutoPrintTickets=Tickets automatisch drucken +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Aktivieren Sie Funktionen für Bar oder Restaurant ConfirmDeletionOfThisPOSSale=Bestätigen Sie die Löschung dieses aktuellen Verkaufs? ConfirmDiscardOfThisPOSSale=Möchten Sie diesen aktuellen Verkauf verwerfen? @@ -87,7 +90,19 @@ HeadBar=Kopfleiste SortProductField=Feld zum Sortieren von Produkten Browser=Browser BrowserMethodDescription=Schneller und einfacher Belegdruck. Nur wenige Parameter zum Konfigurieren der Quittung. Drucken via Browser. -TakeposConnectorMethodDescription=Externes Modul mit zusätzlichen Funktionen. Möglichkeit zum Drucken aus der Cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Druckmethode ReceiptPrinterMethodDescription=Leistungsstarke Methode mit vielen Parametern. Vollständig anpassbar mit Vorlagen. Kann nicht aus der Cloud drucken. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/de_DE/companies.lang b/htdocs/langs/de_DE/companies.lang index 451828dd7aa..862481c2ae1 100644 --- a/htdocs/langs/de_DE/companies.lang +++ b/htdocs/langs/de_DE/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Firma "%s" aus der Datenbank gelöscht. ListOfContacts=Liste der Kontakte ListOfContactsAddresses=Liste der Kontakte ListOfThirdParties=Liste der Partner -ShowCompany=Partner anzeigen ShowContact=Kontakt anzeigen ContactsAllShort=Alle (kein Filter) ContactType=Kontaktart @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Vorname des Vertreter SaleRepresentativeLastname=Nachname des Vertreter ErrorThirdpartiesMerge=Es gab einen Fehler beim Löschen des Partners. Bitte Details sind im Prokoll zu finden. Die Löschung wurden rückgängig gemacht. NewCustomerSupplierCodeProposed=Kunden- oder Lieferantennummer wird bereits verwendet. \nEine neue Nummer wird empfohlen. +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Zahlungsart - Kunde PaymentTermsCustomer=Zahlungsbedingung - Kunde diff --git a/htdocs/langs/de_DE/compta.lang b/htdocs/langs/de_DE/compta.lang index 565102ea3c7..11b23d8e79e 100644 --- a/htdocs/langs/de_DE/compta.lang +++ b/htdocs/langs/de_DE/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Zeige %sZahlungsanalyse%s für die Berechnung der akt SeeReportInDueDebtMode=Zeige %sRechnungsanalyse%s für die Berechnung der aktuellen Rechnungen auch wenn diese noch nicht ins Hauptbuch übernommen wurden. SeeReportInBookkeepingMode=Siehe %sBuchungsreport%s für die Berechnung via Hauptbuch RulesAmountWithTaxIncluded=- Angezeigte Beträge enthalten alle Steuern -RulesResultDue=- Dies beinhaltet ausstehende Rechnungen, Aufwendungen, Umsatzsteuern, Abgaben, ob sie bezahlt wurden oder nicht. Auch die gezahlten Gehälter.
    - Es gilt das Freigabedatum von den Rechnungen und USt., sowie das Fälligkeitsdatum für Aufwendungen. Für Gehälter definiert mit dem Modul Löhne, wird das Valutadatum der Zahlung verwendet. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Es sind nur tatsächliche Zahlungen für Rechnungen, Kostenabrechnungen, USt und Gehälter enthalten.
    - Bei Rechnungen, Kostenabrechnungen, USt und Gehälter gilt das Zahlugnsdatum. Bei Spenden gilt das Spendendatum. -RulesCADue=- Es enthält die fälligen Rechnungen des Kunden, ob sie bezahlt werden oder nicht.
    - Es basiert auf dem Validierungsdatum dieser Rechnungen.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Es umfasst alle effektiven Zahlungen von Rechnungen, die von Kunden erhalten wurden.
    - Es basiert auf dem Zahlungsdatum dieser Rechnungen.
    RulesCATotalSaleJournal=Es beinhaltet alle Gutschriftspositionen aus dem Verkaufsjournal. RulesAmountOnInOutBookkeepingRecord=Beinhaltet Datensätze aus dem Hauptbuch mit den Gruppen "Aufwand" oder "Ertrag" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Verrechneter Umsatz pro Steuersatz TurnoverCollectedbyVatrate=Realisierter Umsatz pro Steuersatz PurchasebyVatrate=Einkäufe pro Steuersatz LabelToShow=Kurzbezeichnung +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index 0b38b138aa3..9ad6bef1441 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Die Datei wurde nicht vollständig zum Server übertragen. ErrorNoTmpDir=Das temporäre Verzeichnis %s existiert nicht. ErrorUploadBlockedByAddon=Der Upload wurde durch ein PHP Apache-Plugin blockiert. ErrorFileSizeTooLarge=Die Größe der gewählten Datei übersteigt den zulässigen Maximalwert. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Die Größe überschreitet das Maximum für den Typ 'int' (%s Ziffern maximal) ErrorSizeTooLongForVarcharType=Die Größe überschreitet das Maximum für den Typ 'string' (%s Zeichen maximal) ErrorNoValueForSelectType=Bitte Wert für Auswahlliste eingeben @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Fehler, die Sprache der überset ErrorBatchNoFoundForProductInWarehouse=Für das Produkt "%s" wurde im Lager "%s" keine Los / Seriennummer gefunden. ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Bestand nicht ausreichend für diese Los / Seriennummer für das Produkt "%s" im Lager "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Ihr PHP Parameter upload_max_filesize (%s) ist größer als Parameter post_max_size (%s). Dies ist eine inkonsistente Einstellung. WarningPasswordSetWithNoAccount=Es wurde ein Passwort für dieses Mitglied vergeben, aber kein Benutzer erstellt. Das Passwort wird gespeichert, aber kann nicht für die Anmeldung an Dolibarr verwendet werden. Es kann von einem externen Modul/einer Schnittstelle verwendet werden, aber wenn Sie kein Login oder Passwort für dieses Mitglied definiert müssen, können Sie die Option "Login für jedes Mitglied verwalten" in den Mitgliedseinstellungen deaktivieren. Wenn Sie ein Login aber kein Passwort benötige, lassen Sie dieses Feld leer, um diese Meldung zu deaktivieren. Anmerkung: Die E-Mail-Adresse kann auch zur Anmeldung verwendet werden, wenn das Mitglied mit einem Benutzer verbunden wird. diff --git a/htdocs/langs/de_DE/link.lang b/htdocs/langs/de_DE/link.lang index 9c561230019..2c9e412b742 100644 --- a/htdocs/langs/de_DE/link.lang +++ b/htdocs/langs/de_DE/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Der Link %s wurde entfernt ErrorFailedToDeleteLink= Fehler beim entfernen des Links '%s' ErrorFailedToUpdateLink= Fehler beim aktualisieren des Link '%s' URLToLink=URL zum verlinken +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/de_DE/mails.lang b/htdocs/langs/de_DE/mails.lang index 04567ddd4d6..a2f484938be 100644 --- a/htdocs/langs/de_DE/mails.lang +++ b/htdocs/langs/de_DE/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Kein Kontakt/Adresse mit einer Kategorie gefunden NoContactLinkedToThirdpartieWithCategoryFound=Kein Kontakt/Adresse mit einer Kategorie gefunden OutGoingEmailSetup=Postausgang InGoingEmailSetup=Posteingang -OutGoingEmailSetupForEmailing=Einstellung ausgehende E-Mails (für den Massenversand) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Standardeinstellungen für ausgehende E-Mails Information=Information ContactsWithThirdpartyFilter=Kontakte mit Drittanbieter-Filter diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index aed761fb08e..d7f70d294ed 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Speichern und bleiben SaveAndNew=Speichern und neu TestConnection=Verbindung testen ToClone=Duplizieren +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Wählen Sie die zu duplizierenden Daten: NoCloneOptionsSpecified=Keine Duplikationsoptionen ausgewählt. Of=von @@ -829,6 +830,8 @@ Gender=Geschlecht Genderman=männlich Genderwoman=weiblich ViewList=Listenansicht +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Pflichtfeld Hello=Hallo GoodBye=Auf Wiedersehen @@ -1022,5 +1025,6 @@ SelectYourGraphOptionsFirst=Wählen Sie Ihre Diagrammoptionen aus, um ein Diagra Measures=Maße XAxis=X-Achse YAxis=Y-Achse +StatusOfRefMustBe=Status of %s must be %s DeleteFileHeader=Dateilöschung bestätigen DeleteFileText=Möchten sie diese Datei wirklich löschen? diff --git a/htdocs/langs/de_DE/orders.lang b/htdocs/langs/de_DE/orders.lang index 3550d747799..dfff5494aa3 100644 --- a/htdocs/langs/de_DE/orders.lang +++ b/htdocs/langs/de_DE/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=E-Mail (Feld mit automatischer E-Mail-Syntaxprüfung) OrderByWWW=Online OrderByPhone=Telefon # Documents models -PDFEinsteinDescription=Ein vollständiges Bestellmodell (alte Implementierung der Eratosthene-Vorlage) +PDFEinsteinDescription=Ein vollständiges Bestellmodell PDFEratostheneDescription=Ein komplettes Bestellmodell PDFEdisonDescription=Eine einfache Bestellvorlage PDFProformaDescription=Eine vollständige Proforma-Rechnungsvorlage diff --git a/htdocs/langs/de_DE/other.lang b/htdocs/langs/de_DE/other.lang index 3e0794697c4..eeead24c7dd 100644 --- a/htdocs/langs/de_DE/other.lang +++ b/htdocs/langs/de_DE/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Derzeit ist nur 1 Feld als X-Achse möglich. Es wurde nur das erste selektierte Feld ausgewählt. AtLeastOneMeasureIsRequired=Es ist mindestens 1 Feld für Maßnahmen erforderlich AtLeastOneXAxisIsRequired=Es ist mindestens 1 Feld für die X-Achse erforderlich - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Kundenbestellung freigegeben Notify_ORDER_SENTBYMAIL=Kundenbestellung per E-Mail versendet Notify_ORDER_SUPPLIER_SENTBYMAIL=Lieferantenbestellung per E-Mail zugestellt @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL der Seite WEBSITE_TITLE=TItel WEBSITE_DESCRIPTION=Beschreibung WEBSITE_IMAGE=Bild -WEBSITE_IMAGEDesc=Relativer Pfad zur Bildimage-Datei. Kann auch leer bleiben, da selten benutzt (es kann für die Anzeige von dynamischen Inhalten für Thumbnails in einer Liste von Blogposts verwendet werden). Benutze __WEBSITEKEY__ im Pfad, wenn sich der Pfad auf einen Website-Namen bezieht. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Schlüsselwörter LinesToImport=Positionen zum importieren diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index fab2a70242b..8dc1242398a 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Dieses Tool aktualisiert den für ALLE Pr MassBarcodeInit=Initialisierung Barcodes MassBarcodeInitDesc=Hier können Objekte mit einem Barcode initialisiert werden, die noch keinen haben. Stellen Sie vor Benutzung sicher, dass die Einstellungen des Barcode-Moduls vollständig sind! ProductAccountancyBuyCode=Rechnungscode (Einkauf) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Buchhaltungscode (Verkauf) ProductAccountancySellIntraCode=Buchungscode (Verkauf innerhalb der Gemeinschaft) ProductAccountancySellExportCode=Kontierungscode (Verkauf Export) @@ -165,7 +167,7 @@ SuppliersPrices=Lieferanten Preise SuppliersPricesOfProductsOrServices=Herstellerpreise (von Produkten oder Dienstleistungen) CustomCode=Zolltarifnummer CountryOrigin=Urspungsland -Nature=Produkttyp (Material / Fertig) +Nature=Nature of product (material/finished) ShortLabel=Kurzbezeichnung Unit=Einheit p=u. diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index d235de8b9d5..03dcfa404f7 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=Projekt mit dem ich verbunden bin Time=Zeitaufwand ListOfTasks=Aufgabenliste GoToListOfTimeConsumed=Liste der verwendeten Zeit aufrufen -GoToListOfTasks=Als Liste anzeigen -GoToGanttView=als Gantt zeigen GanttView=Gantt-Diagramm ListProposalsAssociatedProject=Liste der projektbezogenen Angebote ListOrdersAssociatedProject=Liste der projektbezogenen Kundenaufträge @@ -188,7 +186,7 @@ PlannedWorkload=Geplante Auslastung PlannedWorkloadShort=Arbeitsaufwand ProjectReferers=Verknüpfte Einträge ProjectMustBeValidatedFirst=Projekt muss erst bestätigt werden -FirstAddRessourceToAllocateTime=Benutzer eine Ressource pro Aufgabe zuordnen, um eine Zeitspanne einzuräumen +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Eingang pro Tag InputPerWeek=Eingang pro Woche InputPerMonth=Eingang pro Monat @@ -240,6 +238,7 @@ LatestModifiedProjects=Neueste %s modifizierte Projekte OtherFilteredTasks=Andere gefilterte Aufgaben NoAssignedTasks=Keine zugewiesenen Aufgaben gefunden (dem aktuellen Benutzer über das obere Auswahlfeld Projekt / Aufgaben zuweisen, um die Zeit einzugeben) ThirdPartyRequiredToGenerateInvoice=Für das Projekt muss ein Drittanbieter definiert werden, um es in Rechnung stellen zu können. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Alle Benutzerkommentare zur Aufgabe AllowCommentOnProject=Benutzer dürfen Projekte kommentieren @@ -265,3 +264,4 @@ InvoiceToUse=Zu verwendender Rechnungsentwurf NewInvoice=Neue Rechnung OneLinePerTask=Eine Zeile pro Aufgabe OneLinePerPeriod=Eine Zeile pro Zeitraum +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/de_DE/propal.lang b/htdocs/langs/de_DE/propal.lang index e16a3f5eef5..df4124f1b8b 100644 --- a/htdocs/langs/de_DE/propal.lang +++ b/htdocs/langs/de_DE/propal.lang @@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Kontakt für Kundenrechnungen TypeContact_propal_external_CUSTOMER=Kundenkontakt für Angebot TypeContact_propal_external_SHIPPING=Kundenkontakt für Lieferung # Document models -DocModelAzurDescription=Ein vollständiges Angebotsmodell (alte Implementierung der Cyan-Vorlage) +DocModelAzurDescription=Ein vollständiges Angebotsmodell DocModelCyanDescription=Ein vollständiges Angebotsmodell DefaultModelPropalCreate=Erstellung Standardvorlage DefaultModelPropalToBill=Standard-Template, wenn Sie ein Angebot schließen wollen (zur Verrechung) diff --git a/htdocs/langs/de_DE/receiptprinter.lang b/htdocs/langs/de_DE/receiptprinter.lang index ef7e4748fd7..93f5e4bef5e 100644 --- a/htdocs/langs/de_DE/receiptprinter.lang +++ b/htdocs/langs/de_DE/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Drucker CONNECTOR_NETWORK_PRINT=Netzwerk-Drucker CONNECTOR_FILE_PRINT=lokaler Drucker CONNECTOR_WINDOWS_PRINT=lokaler Windows Drucker +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Simulierter Drucker zum Testen, hat keine Funktion CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Standardprofil PROFILE_SIMPLE=einfaches Profil PROFILE_EPOSTEP=Epos Tep Profil @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Rechnungsmonat (Abkürzung) DOL_VALUE_MONTH=Rechnungsmonat DOL_VALUE_DAY=Rechnungstag DOL_VALUE_DAY_LETTERS=Rechnungstag (Abkürzung) +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Rechnungs Nr. +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=innergemeinschaftliche Umsatzsteuer-ID +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/de_DE/stripe.lang b/htdocs/langs/de_DE/stripe.lang index 249be384aa5..e8913c6833a 100644 --- a/htdocs/langs/de_DE/stripe.lang +++ b/htdocs/langs/de_DE/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name des Lieferanten CSSUrlForPaymentForm=CSS-Datei für das Zahlungsmodul NewStripePaymentReceived=Neue Stripezahlung erhalten NewStripePaymentFailed=Neue Stripezahlung versucht, aber fehlgeschlagen +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Geheimer Testschlüssel STRIPE_TEST_PUBLISHABLE_KEY=Öffentlicher Testschlüssel STRIPE_TEST_WEBHOOK_KEY=Webhook Testschlüssel @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link zum Einrichten von Stripe WebHook zum Aufruf von ToOfferALinkForLiveWebhook=Link zum Einrichten von Stripe WebHook zum Aufruf von IPN (Livemodus) PaymentWillBeRecordedForNextPeriod=Die Zahlung wird für den folgenden Zeitraum erfasst. ClickHereToTryAgain=Hier klicken und nochmal versuchen... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Aufgrund der strengen Kundenauthentifizierungsregeln muss die Erstellung einer Karte im Stripe-Backoffice erfolgen. Klicken Sie hier, um zum Stripe-Kundeneintrag zu wechseln: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/de_DE/users.lang b/htdocs/langs/de_DE/users.lang index 28c3db26415..9aa6e40068b 100644 --- a/htdocs/langs/de_DE/users.lang +++ b/htdocs/langs/de_DE/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Benutzer und -eigenschaften DomainUser=Domain-Benutzer %s Reactivate=Reaktivieren CreateInternalUserDesc=Dieses Formular erlaubt Ihnen das Anlegen eines Internen Benutzers in Ihrem Unternehmen oder Organisation. Zum Anlegen eines externen Benutzers (Kunden, Lieferanten, ...), verwenden Sie bitte die 'Kontakt/Adresse erstellen'-Schaltfläche in der Kontaktkarte des jeweiligen Partners. -InternalExternalDesc=Ein interner Benutzer ist Teil Ihres Unternehmens/Ihrer Organisation.
    Ein externer Benutzer ist ein Kunde, Lieferant oder Sonstiges.

    In beiden Fällen können Berechtigungen in Dolibarr definiert werden. Externe Benutzer können auch ein anderes Menü angezeigt bekommen als interne Benutzer (Siehe Start - Einstellungen - Anzeige). +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Berechtigung durch eine Gruppenzugehörigkeit geerbt. Inherited=Geerbt UserWillBeInternalUser=Erstellter Benutzer ist intern (mit keinem bestimmten Partner verknüpft) @@ -113,3 +113,5 @@ CantDisableYourself=Sie können Ihr eigenes Benutzerkonto nicht deaktivieren ForceUserExpenseValidator=Überprüfung der Spesenabrechnung erzwingen ForceUserHolidayValidator=Gültigkeitsprüfer für Urlaubsanträge erzwingen ValidatorIsSupervisorByDefault=Standardmäßig ist der Prüfer der Supervisor des Benutzers. Leer lassen, um dieses Verhalten beizubehalten. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/de_DE/website.lang b/htdocs/langs/de_DE/website.lang index cddab17114f..bfe140a6001 100644 --- a/htdocs/langs/de_DE/website.lang +++ b/htdocs/langs/de_DE/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Seite in neuem Tab anzeigen SetAsHomePage=Als Startseite festlegen RealURL=Echte URL ViewWebsiteInProduction=Anzeige der Webseite über die Startseite\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nüber die URL der Homepage -SetHereVirtualHost=Mit Apache/NGinx/... nutzen
    Wenn auf dem Webserver (Apache, Nginx, ...) ein dedizierter, virtueller Host mit PHP und einem Root Verzeichnis in
    %s
    eingerichtet werden kann, dann muss der Name des virtuellen Hosts aus den Einstellungen der Webseite verwendet werden. Dann kann die Vorschau auch diesen dedizierten Webserver nutzen anstelle des internen Dolibarr Servers. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Verwendung mit eingebettetem PHP-Server
    In der Entwicklungsumgebung können Sie die Site mit dem eingebetteten PHP-Webserver (PHP 5.5 erforderlich) testen, indem Sie
    php -S 0.0.0.0:8080 -t %s ausführen. YouCanAlsoDeployToAnotherWHP=Betreibe deine Website mit einem anderen Dolibarr Hosting-Anbieter
    Wenn kein Apache oder NGinx Webserver online verfügbar ist, kann deine Website exportiert und importiert werden und zu einer anderen Dolibarr Instanz umziehen, die durch einen anderen Dolibarr Hosting-Anbieter mit kompletter Integration des Webseiten-Moduls bereitgestellt wird. Eine Liste mit Dolibarr Hosting-Anbietern ist hier abufbar https://saas.dolibarr.org CheckVirtualHostPerms=Kontrolliere dass auch der Virtuelle Host die %s Berechtigung für die die Dateien in
    %s hat @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Diese Website ist derzeit offline. Bitte kommen S WEBSITE_USE_WEBSITE_ACCOUNTS=Benutzertabelle für Webseite aktivieren WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Aktiviere die Benutzertabelle, um Webseiten-Konten (Login/Kennwort) für jede Website / jeden Drittanbieter zu speichern YouMustDefineTheHomePage=Zuerst muss die Startseite definiert sein -OnlyEditionOfSourceForGrabbedContentFuture=Warnung: Die Erstellung einer Website durch importieren einer externen Seite ist erfahrenen Nutzern vorbehalten. Abhängig von der Komplexität der Quellseite, weicht das Importergebnis möglichweise von Original ab. Falls die Quellseite Standard-CSS oder konfliktträchtiges Javascript nutzt, kann das das Layout oder die Features des Webseiten-Editors beschädigen, wenn an dieser Seite gearbeitet wird. Diese Methode ist ein schnellerer Weg, um Webseiten zu erstellen aber es wird empfohlen, neue Webseiten von grundauf neu zu erstellen oder eine empfohlene Seitenvorlage zu nutzen.
    Bitte auch beachten, dass Änderungen am HTML-Quellcode erst möglich sind, wenn der Seiteninhalt von der externen Seite übertragen wurde (Der "Online" Editor ist NICHT verfügbar.) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Der HTML Code kann nur editiert werden, wenn der Inhalt von einer externen Site geladen wurde GrabImagesInto=Auch Bilder aus CSS und Seite übernehmen ImagesShouldBeSavedInto=Bilder sollten im Verzeichnis gespeichert werden @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Verwende für gute SEO-Ergebnisse einen Text zwischen MainLanguage=Hauptsprache OtherLanguages=Andere Sprachen UseManifest=Eine manifest.json-Datei bereitstellen +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index 4b8ac4651a9..6a7c7ab2627 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Σημείωση: Η διαμόρφωση PHP σας NoMaxSizeByPHPLimit=Σημείωση: Κανένα όριο δεν έχει οριστεί στη διαμόρφωση του PHP σας MaxSizeForUploadedFiles=Μέγιστο μέγεθος για μεταφόρτωση αρχείων (0 απορρίπτει οποιοδήποτε μεταφόρτωση) UseCaptchaCode=Χρησιμοποιήστε το γραφικό κώδικα (CAPTCHA) στη σελίδα εισόδου -AntiVirusCommand= Πλήρης διαδρομή για την εντολή του antivirus -AntiVirusCommandExample= Παράδειγμα για ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Παράδειγμα για ClamAv: /usr/bin/clamscan +AntiVirusCommand=Πλήρης διαδρομή για την εντολή του antivirus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Περισσότερες παράμετροι στην γραμμή εντολής -AntiVirusParamExample= Παράδειγμα για το ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Εγκατάσταση Λογιστικού module UserSetup=Ρύθμιση χρήστη MultiCurrencySetup=Ρύθμιση πολλαπλών νομισμάτων @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Δυνατότητα απενεργοποίησης στο FeatureAvailableOnlyOnStable=Το χαρακτηριστικό είναι διαθέσιμο μόνο σε επίσημες σταθερές εκδόσεις BoxesDesc=Τα γραφικά στοιχεία είναι στοιχεία που εμφανίζουν ορισμένες πληροφορίες που μπορείτε να προσθέσετε για να προσαρμόσετε ορισμένες σελίδες. Μπορείτε να επιλέξετε μεταξύ εμφάνισης του γραφικού στοιχείου ή όχι επιλέγοντας τη σελίδα προορισμού και κάνοντας κλικ στην επιλογή 'Ενεργοποίηση' ή κάνοντας κλικ στο καλάθι απορριμάτων για να το απενεργοποιήσετε. OnlyActiveElementsAreShown=Μόνο στοιχεία από ενεργοποιημένα modules προβάλλονται. -ModulesDesc=Οι ενότητες / εφαρμογές καθορίζουν ποιες λειτουργίες είναι διαθέσιμες στο λογισμικό. Ορισμένες ενότητες απαιτούν δικαιώματα που θα χορηγούνται στους χρήστες μετά την ενεργοποίηση της ενότητας. Κάντε κλικ στο πλήκτρο ενεργοποίησης / απενεργοποίησης (στο τέλος της γραμμής μονάδας) για να ενεργοποιήσετε / απενεργοποιήσετε μια ενότητα / εφαρμογή. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Μπορείτε να βρείτε περισσότερες ενότητες για να κατεβάσετε σε εξωτερικές ιστοσελίδες στο Internet ... ModulesDeployDesc=Εάν το επιτρέπουν τα δικαιώματα στο σύστημα αρχείων σας, μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για την ανάπτυξη εξωτερικής μονάδας. Η ενότητα θα είναι στη συνέχεια ορατή στην καρτέλα %s . ModulesMarketPlaces=Βρείτε εξωτερική εφαρμογή / ενότητες @@ -212,6 +212,7 @@ CompatibleUpTo=Συμβατό με την έκδοση %s NotCompatible=Αυτή η ενότητα δεν φαίνεται συμβατή με το Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Αυτή η ενότητα απαιτεί ενημέρωση του Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Δές στην Αγορά +SeeSetupOfModule=Δείτε την ρύθμιση του module %s Updated=Ενημερωμένο Nouveauté=Καινοτομία AchatTelechargement=Αγόρασε / Μεταφόρτωσε @@ -221,6 +222,7 @@ DoliPartnersDesc=Κατάλογος εταιρειών που παρέχουν WebSiteDesc=Εξωτερικοί ιστότοποι για περισσότερες πρόσθετες (μη πυρήνες) ενότητες ... DevelopYourModuleDesc=Μερικές λύσεις για να αναπτύξεις το δικό σου μοντέλο... URL=URL +RelativeURL=Relative URL BoxesAvailable=Διαθέσιμα Widgets BoxesActivated=Ενεργοποιημένα Widgets ActivateOn=Ενεργοποιήστε στις @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Αφήστε κενό για να χρησιμοποιήσ DefaultLink=Προεπιλεγμένος σύνδεσμος SetAsDefault=Ορισμός ως προεπιλογή ValueOverwrittenByUserSetup=Προσοχή, αυτή η τιμή μπορεί να αντικατασταθεί από επιλογή του χρήστη (ο κάθε χρήστης μπορεί να κάνει τον δικό του σύνδεσμο clicktodial) -ExternalModule=Εξωτερικό module - Εγκατεστημένο στον φάκελο %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Μαζικός κώδικας barcode για τρίτους BarcodeInitForProductsOrServices=Όγκος barcode init ή επαναφορά για προϊόντα ή υπηρεσίες CurrentlyNWithoutBarCode=Επί του παρόντος, έχετε %s ρεκόρ για %s %s χωρίς barcode ορίζεται. @@ -503,7 +506,7 @@ DAV_ALLOW_ECM_DIRTooltip=Ο ριζικός κατάλογος όπου όλα τ # Modules Module0Name=Χρήστες και Ομάδες Module0Desc=Διαχείριση χρηστών / εργαζομένων και ομάδων -Module1Name=Τρίτους +Module1Name=Πελάτες/Συνεργάτες Module1Desc=Διαχείριση εταιρειών και επαφών (πελάτες, προοπτικές ...) Module2Name=Εμπορικό Module2Desc=Εμπορική διαχείριση @@ -947,7 +950,7 @@ DictionaryCanton=Κράτη / Επαρχίες DictionaryRegion=Περιοχές DictionaryCountry=Χώρες DictionaryCurrency=Νόμισμα -DictionaryCivility=Τίτλος της ευγένειας +DictionaryCivility=Honorific titles DictionaryActions=Τύποι συμβάντων ημερήσιας διάταξης DictionarySocialContributions=Είδη κοινωνικών ή φορολογικών φόρων DictionaryVAT=Τιμές ΦΠΑ ή φόρου επί των πωλήσεων @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Από προεπιλογή, ο προτεινόμενος φό VATIsUsedExampleFR=Στη Γαλλία, σημαίνει ότι οι εταιρείες ή οι οργανώσεις έχουν ένα πραγματικό φορολογικό σύστημα (απλοποιημένο πραγματικό ή κανονικό πραγματικό). Ένα σύστημα στο οποίο δηλώνεται ο ΦΠΑ. VATIsNotUsedExampleFR=Στη Γαλλία, δηλώνονται ενώσεις που δεν έχουν δηλωθεί ως φόρος πωλήσεων ή εταιρείες, οργανώσεις ή ελεύθερα επαγγέλματα που επέλεξαν το φορολογικό σύστημα των μικροεπιχειρήσεων (Φόρος πωλήσεων σε franchise) και κατέβαλαν φόρο επί των πωλήσεων χωρίς καμία δήλωση φόρου επί των πωλήσεων. Αυτή η επιλογή θα εμφανίζει στα τιμολόγια την αναφορά "Μη εφαρμοστέος φόρος πωλήσεων - art-293B του CGI". ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Τιμή LocalTax1IsNotUsed=Μην χρησιμοποιείτε δεύτερο φόρο LocalTax1IsUsedDesc=Χρησιμοποιήστε έναν δεύτερο τύπο φόρου (εκτός από τον πρώτο) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Το ποσοστό IRPF από προεπιλογή κα LocalTax2IsNotUsedDescES=Από προεπιλογή, το προτεινόμενο IRPF είναι 0. Τέλος κανόνα. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=Στην Ισπανία είναι επιχειρήσεις που δεν υπόκεινται σε φορολογικό σύστημα ενοτήτων. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Αναφορές για τοπικούς φόρους CalcLocaltax1=Πωλήσεις - Αγορές CalcLocaltax1Desc=Οι αναφορές τοπικών φόρων υπολογίζονται με τη διαφορά μεταξύ τοπικών πωλήσεων και τοπικών αγορών @@ -1018,6 +1025,7 @@ CalcLocaltax2=Αγορές CalcLocaltax2Desc=Οι αναφορές τοπικών φόρων είναι το σύνολο των τοπικών αγορών CalcLocaltax3=Πωλήσεις CalcLocaltax3Desc=Οι αναφορές τοπικών φόρων είναι το σύνολο των τοπικών πωλήσεων +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Ετικέτα που χρησιμοποιείται από προεπιλογή εάν δεν υπάρχει μετάφραση για τον κώδικα LabelOnDocuments=Ετικέτα στα έγγραφα LabelOrTranslationKey=Κλειδί ετικέτας ή μετάφρασης @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Έκθεση εξόδων για έγκριση Delays_MAIN_DELAY_HOLIDAYS=Αφήστε τα αιτήματα για έγκριση SetupDescription1=Πριν ξεκινήσετε τη χρήση του Dolibarr πρέπει να οριστούν ορισμένες αρχικές παράμετροι και να ενεργοποιηθούν / διαμορφωθούν οι ενότητες. SetupDescription2=Οι ακόλουθες δύο ενότητες είναι υποχρεωτικές (οι δύο πρώτες καταχωρίσεις στο μενού Ρύθμιση): -SetupDescription3=%s -> %s
    Βασικές παράμετροι που χρησιμοποιούνται για την προσαρμογή της προεπιλεγμένης συμπεριφοράς της εφαρμογής σας (π.χ. για λειτουργίες που σχετίζονται με τη χώρα). -SetupDescription4=%s -> %s
    Αυτό το λογισμικό είναι μια σουίτα από πολλές ενότητες / εφαρμογές, όλες λίγο πολύ ανεξάρτητες. Οι ενότητες που σχετίζονται με τις ανάγκες σας πρέπει να είναι ενεργοποιημένες και ρυθμισμένες. Τα νέα στοιχεία / επιλογές προστίθενται στα μενού με την ενεργοποίηση μιας ενότητας. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Άλλες καταχωρίσεις μενού ρυθμίσεων διαχειρίζονται προαιρετικές παραμέτρ LogEvents=Security audit events Audit=Ιστορικό εισόδου χρηστών @@ -1128,7 +1136,7 @@ LogEventDesc=Ενεργοποιήστε την καταγραφή για συγ AreaForAdminOnly=Οι παράμετροι εγκατάστασης μπορούν να οριστούν μόνο από χρήστες διαχειριστή . SystemInfoDesc=Οι πληροφορίες συστήματος είναι διάφορες τεχνικές πληροφορίες που λαμβάνετε μόνο στη λειτουργία ανάγνωσης και είναι ορατές μόνο για τους διαχειριστές. SystemAreaForAdminOnly=Αυτή η περιοχή είναι διαθέσιμη μόνο σε χρήστες διαχειριστή. Τα δικαιώματα χρήστη Dolibarr δεν μπορούν να αλλάξουν αυτόν τον περιορισμό. -CompanyFundationDesc=Επεξεργαστείτε τις πληροφορίες της εταιρείας / εταιρείας. Κάντε κλικ στο κουμπί "%s" στο κάτω μέρος της σελίδας. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Εάν έχετε έναν εξωτερικό λογιστή / λογιστή, μπορείτε να επεξεργαστείτε εδώ τις πληροφορίες του. AccountantFileNumber=Λογιστικό κώδικα DisplayDesc=Οι παράμετροι που επηρεάζουν την εμφάνιση και συμπεριφορά του Dolibarr μπορούν να τροποποιηθούν εδώ. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Κανόνες δημιουργίας και επικ DisableForgetPasswordLinkOnLogonPage=Να μην εμφανίζεται ο σύνδεσμος "Ξεχασμένος κωδικός πρόσβασης" στη σελίδα Σύνδεση UsersSetup=Ρυθμίσεις αρθρώματος χρηστών UserMailRequired=Απαιτείται ηλεκτρονικό ταχυδρομείο για τη δημιουργία νέου χρήστη +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Ρύθμιση μονάδας HRM ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Μοντέλα εγγράφων τιμολογίου BillsPDFModulesAccordindToInvoiceType=Τα μοντέλα εγγράφων τιμολογίου σύμφωνα με τον τύπο τιμολογίου PaymentsPDFModules=Μοντέλα εγγράφων πληρωμής ForceInvoiceDate=Μετάβαση ημερομηνίας ισχύος τιμολογίου σε ημερομηνία επικύρωσης -SuggestedPaymentModesIfNotDefinedInInvoice=Προτεινόμενη μέθοδος πληρωμής στο τιμολόγιο από προεπιλογή, εάν δεν έχει οριστεί για τιμολόγιο +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Προτείνετε την πληρωμή μέσω απόσυρσης στο λογαριασμό SuggestPaymentByChequeToAddress=Προτείνετε πληρωμή με επιταγή προς FreeLegalTextOnInvoices=Ελεύθερο κείμενο στα τιμολόγια @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Ρυθμίσεις πληρωμών προμηθευτή PropalSetup=Ρύθμιση ενότητας εμπορικών προτάσεων ProposalsNumberingModules=Μοντέλα αριθμοδότησης εμπορικών προτάσεων ProposalsPDFModules=Μοντέλα εγγράφων εμπορικών προτάσεων -SuggestedPaymentModesIfNotDefinedInProposal=Προτεινόμενη μέθοδος πληρωμών σχετικά με πρόταση από προεπιλογή, εάν δεν ορίζεται για πρόταση +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Ελεύθερο κείμενο στις προσφορές WatermarkOnDraftProposal=Υδατογράφημα σε προσχέδια εμπορικών προτάσεων (κανένα εάν δεν είναι κενό) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ρωτήστε για τον τραπεζικό λογαριασμό προορισμού της προσφοράς @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ζητήστε από την αποθήκη ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ζητήστε τον προορισμό του τραπεζικού λογαριασμού της εντολής αγοράς ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Ρύθμιση διαχείρισης παραγγελιών πωλήσεων OrdersNumberingModules=Μοντέλα αρίθμησης παραγγελιών OrdersModelModule=Παραγγείλετε μοντέλα εγγράφων @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Προειδοποίηση, οι υψη ModuleActivated=Η ενότητα %s ενεργοποιείται και επιβραδύνει τη διεπαφή EXPORTS_SHARE_MODELS=Τα μοντέλα εξαγωγής είναι κοινά με όλους ExportSetup=Ρύθμιση εξαγωγής της ενότητας +ImportSetup=Setup of module Import InstanceUniqueID=Μοναδικό αναγνωριστικό της παρουσίας SmallerThan=Μικρότερη από LargerThan=Μεγαλύτερο από @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Δημιουργήστε ένα ανώνυμο Ping '+1 FeatureNotAvailableWithReceptionModule=Η λειτουργία δεν είναι διαθέσιμη όταν είναι ενεργοποιημένη η λειτουργία Υποδοχή EmailTemplate=Πρότυπο email EMailsWillHaveMessageID=Τα μηνύματα ηλεκτρονικού ταχυδρομείου θα έχουν μια ετικέτα "Αναφορές" που ταιριάζουν με αυτή τη σύνταξη -PDF_USE_ALSO_LANGUAGE_CODE=Εάν θέλετε να έχετε κάποιο τίτλο κειμένου σε PDF που έχετε αντιγράψει σε 2 διαφορετικές γλώσσες στο ίδιο παραγόμενο PDF, πρέπει να ορίσετε εδώ αυτή τη δεύτερη γλώσσα, έτσι ώστε το παραγόμενο PDF να περιέχει 2 διαφορετικές γλώσσες στην ίδια σελίδα, αυτή που επιλέχθηκε κατά τη δημιουργία PDF και αυτή (μόνο μερικά πρότυπα PDF υποστηρίζουν αυτό). Κρατήστε κενό για 1 γλώσσα ανά PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index 1262a205dea..f38dfa9741f 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Τιμολόγια προμηθευτών SupplierBill=Τιμολόγιο προμηθευτή SupplierBills=Τιμολόγια Προμηθευτή Payment=Πληρωμή -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Πληρωμές PaymentsBack=Επιστροφές χρημάτων paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Διαγραφή Πληρωμής ConfirmDeletePayment=Είστε σίγουροι ότι θέλετε να διαγράψετε την πληρωμή; -ConfirmConvertToReduc=Θέλετε να μετατρέψετε αυτό το %s σε απόλυτη έκπτωση; +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Το ποσό θα αποθηκευτεί σε όλες τις εκπτώσεις και θα μπορούσε να χρησιμοποιηθεί ως έκπτωση για ένα τρέχον ή μελλοντικό τιμολόγιο για αυτόν τον πελάτη. -ConfirmConvertToReducSupplier=Θέλετε να μετατρέψετε αυτό το %s σε απόλυτη έκπτωση; +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=Το ποσό θα αποθηκευτεί σε όλες τις εκπτώσεις και θα μπορούσε να χρησιμοποιηθεί ως έκπτωση για ένα τρέχον ή μελλοντικό τιμολόγιο για αυτόν τον προμηθευτή. SupplierPayments=Πληρωμές προμηθευτών ReceivedPayments=Ληφθείσες Πληρωμές @@ -219,7 +219,10 @@ ShowInvoiceSituation=Εμφάνιση κατάστασης τιμολογίου UseSituationInvoices=Να επιτρέπεται το τιμολόγιο κατάστασης UseSituationInvoicesCreditNote=Επιτρέψτε το πιστωτικό σημείωμα τιμολογίου κατάστασης Retainedwarranty=Διατηρημένη εγγύηση +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Διατηρημένο ποσοστό εξόφλησης εγγύησης +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Να πληρώσετε για %s toPayOn=να πληρώσει για %s RetainedWarranty=Διατηρημένη εγγύηση @@ -259,7 +262,7 @@ SendReminderBillByMail=Αποστολή υπενθύμισης με email RelatedCommercialProposals=Σχετικές προσφορές RelatedRecurringCustomerInvoices=Related recurring customer invoices MenuToValid=Προς επικύρωση -DateMaxPayment=Πληρωμή λόγω πληρωμής +DateMaxPayment=Προθεσμία Πληρωμής DateInvoice=Ημερομηνία τιμολογίου DatePointOfTax=Point of tax NoInvoice=Δεν υπάρχει τιμολόγιο @@ -285,9 +288,9 @@ ExportDataset_invoice_1=Τιμολόγια πελατών και λεπτομέ ExportDataset_invoice_2=Πληρωμές και τιμολόγια πελατών ProformaBill=Proforma Bill: Reduction=Μείωση -ReductionShort=Δίσκος. +ReductionShort=Έκπτωση Reductions=Μειώσεις -ReductionsShort=Δίσκος. +ReductionsShort=Έκπτωση Discounts=Εκπτώσεις AddDiscount=Δημιουργία απόλυτη έκπτωση AddRelativeDiscount=Δημιουργία σχετική έκπτωση @@ -509,11 +512,11 @@ ToMakePayment=Πληρωμή ToMakePaymentBack=Pay back ListOfYourUnpaidInvoices=Κατάλογος των απλήρωτων τιμολογίων NoteListOfYourUnpaidInvoices=Σημείωση: Αυτή η λίστα περιέχει μόνο τα τιμολόγια για λογαριασμό Πελ./Προμ. που συνδέονται με τον εκπρόσωπο πώλησης. -RevenueStamp=Revenue stamp +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Αυτή η επιλογή είναι διαθέσιμη μόνο όταν δημιουργείτε τιμολόγιο από την καρτέλα "Πελάτης" τρίτου μέρους YouMustCreateInvoiceFromSupplierThird=Αυτή η επιλογή είναι διαθέσιμη μόνο κατά τη δημιουργία τιμολογίου από την καρτέλα "Προμηθευτής" τρίτου μέρους YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Πρότυπο τιμολόγιο PDF Crabe. Ένα πλήρες πρότυπο τιμολογίου (παλιά εφαρμογή του προτύπου Sponge) +PDFCrabeDescription=Πρότυπο τιμολόγιο PDF Crabe. Ένα πλήρες πρότυπο τιμολογίου PDFSpongeDescription=Τιμολόγιο πρότυπο PDF Σφουγγάρι. Ένα πλήρες πρότυπο τιμολογίου PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Επιστρέψετε αριθμό με μορφή %syymm-nnnn για τυπικά τιμολόγια και %syymm-nnnn για πιστωτικά τιμολόγια όπου yy είναι το έτος, mm είναι ο μήνας και nnnn είναι μια ακολουθία αρίθμησης χωρίς διάλειμμα και χωρίς επιστροφή στο 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Ορίστε την ημερομηνία λήξης της γρα AutoFillDateToShort=Ορίστε την ημερομηνία λήξης MaxNumberOfGenerationReached=Μέγιστος αριθμός γονιδίων. επιτευχθεί BILL_DELETEInDolibarr=Το τιμολόγιο διαγράφηκε +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/el_GR/blockedlog.lang b/htdocs/langs/el_GR/blockedlog.lang index 5bf526aa5be..8172e83ec81 100644 --- a/htdocs/langs/el_GR/blockedlog.lang +++ b/htdocs/langs/el_GR/blockedlog.lang @@ -1,54 +1,54 @@ -BlockedLog=Unalterable Logs +BlockedLog=Μη τροποποιήσιμα αρχεία καταγραφής Field=Πεδίο -BlockedLogDesc=This module tracks some events into an unalterable log (that you can't modify once recorded) into a block chain, in real time. This module provides compatibility with requirements of laws of some countries (like France with the law Finance 2016 - Norme NF525). -Fingerprints=Archived events and fingerprints -FingerprintsDesc=This is the tool to browse or extract the unalterable logs. Unalterable logs are generated and archived locally into a dedicated table, in real time when you record a business event. You can use this tool to export this archive and save it into an external support (some countries, like France, ask that you do it every year). Note that, there is no feature to purge this log and every change tried to be done directly into this log (by a hacker for example) will be reported with a non-valid fingerprint. If you really need to purge this table because you used your application for a demo/test purpose and want to clean your data to start your production, you can ask your reseller or integrator to reset your database (all your data will be removed). -CompanyInitialKey=Company initial key (hash of genesis block) -BrowseBlockedLog=Unalterable logs -ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) -ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) -DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). -OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. -OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. -AddedByAuthority=Stored into remote authority -NotAddedByAuthorityYet=Not yet stored into remote authority +BlockedLogDesc=Αυτή η ενότητα παρακολουθεί ορισμένα γεγονότα σε ένα μη αναστρέψιμο αρχείο καταγραφής (το οποίο δεν μπορείτε να τροποποιήσετε αφού καταγραφεί) σε μια αλυσίδα μπλοκ, σε πραγματικό χρόνο. Αυτή η ενότητα παρέχει συμβατότητα με τις απαιτήσεις των νόμων ορισμένων χωρών (όπως η Γαλλία με το νόμο Finance 2016 - Norme NF525). +Fingerprints=Αρχειοθετημένα συμβάντα και δακτυλικά αποτυπώματα +FingerprintsDesc=Αυτό είναι το εργαλείο για να περιηγηθείτε ή να εξαγάγετε τα μη αναστρέψιμα αρχεία καταγραφής. Ανεπιθύμητα αρχεία καταγραφής δημιουργούνται και αρχειοθετούνται τοπικά σε ένα ειδικό τραπέζι, σε πραγματικό χρόνο, όταν καταγράφετε ένα επιχειρηματικό γεγονός. Μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για να εξαγάγετε αυτό το αρχείο και να το αποθηκεύσετε σε εξωτερική υποστήριξη (ορισμένες χώρες, όπως η Γαλλία, ζητήστε να το κάνετε κάθε χρόνο). Σημειώστε ότι δεν υπάρχει καμία δυνατότητα για να καθαρίσετε αυτό το αρχείο καταγραφής και κάθε αλλαγή που προσπάθησε να γίνει απευθείας σε αυτό το αρχείο καταγραφής (π.χ. από έναν χάκερ) θα αναφέρεται με μη έγκυρο δακτυλικό αποτύπωμα. Εάν θέλετε πραγματικά να καθαρίσετε αυτόν τον πίνακα επειδή χρησιμοποιήσατε την εφαρμογή σας για δοκιμαστικό σκοπό και θέλετε να καθαρίσετε τα δεδομένα σας για να ξεκινήσετε την παραγωγή σας, μπορείτε να ζητήσετε από τον μεταπωλητή ή τον ολοκληρωτή σας να επαναφέρει τη βάση δεδομένων σας (όλα τα δεδομένα θα καταργηθούν). +CompanyInitialKey=Το αρχικό κλειδί της επιχείρησης (μπλοκ του μπλοκ γενεσίας) +BrowseBlockedLog=Μη τροποποιήσιμα κορμούς +ShowAllFingerPrintsMightBeTooLong=Εμφάνιση όλων των αρχειοθετημένων αρχείων καταγραφής (μπορεί να είναι μακρά) +ShowAllFingerPrintsErrorsMightBeTooLong=Εμφάνιση όλων των μη έγκυρων αρχείων καταγραφής αρχείων (μπορεί να είναι μεγάλο) +DownloadBlockChain=Κατεβάστε τα δακτυλικά αποτυπώματα +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). +OkCheckFingerprintValidity=Η αρχειοθετημένη εγγραφή είναι έγκυρη. Τα δεδομένα αυτής της γραμμής δεν τροποποιήθηκαν και η καταχώριση ακολουθεί την προηγούμενη. +OkCheckFingerprintValidityButChainIsKo=Το αρχειοθετημένο ημερολόγιο φαίνεται έγκυρο σε σύγκριση με το προηγούμενο, αλλά η αλυσίδα είχε καταστραφεί προηγουμένως. +AddedByAuthority=Αποθηκεύεται σε απομακρυσμένη εξουσία +NotAddedByAuthorityYet=Δεν έχει ακόμη αποθηκευτεί σε απομακρυσμένη αρχή ShowDetails=Εμφάνιση αποθηκευμένων λεπτομεριών -logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created -logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified -logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion -logPAYMENT_ADD_TO_BANK=Payment added to bank -logPAYMENT_CUSTOMER_CREATE=Customer payment created -logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion -logDONATION_PAYMENT_CREATE=Donation payment created -logDONATION_PAYMENT_DELETE=Donation payment logical deletion -logBILL_PAYED=Customer invoice paid -logBILL_UNPAYED=Customer invoice set unpaid +logPAYMENT_VARIOUS_CREATE=Η πληρωμή (δεν έχει εκχωρηθεί σε τιμολόγιο) δημιουργήθηκε +logPAYMENT_VARIOUS_MODIFY=Η πληρωμή (δεν έχει εκχωρηθεί σε τιμολόγιο) τροποποιήθηκε +logPAYMENT_VARIOUS_DELETE=Πληρωμή (δεν έχει εκχωρηθεί σε τιμολόγιο) λογική διαγραφή +logPAYMENT_ADD_TO_BANK=Η πληρωμή προστέθηκε στην τράπεζα +logPAYMENT_CUSTOMER_CREATE=Η πληρωμή του πελάτη δημιουργήθηκε +logPAYMENT_CUSTOMER_DELETE=Λογική διαγραφή πληρωμής πελατών +logDONATION_PAYMENT_CREATE=Η πληρωμή δωρεάς δημιουργήθηκε +logDONATION_PAYMENT_DELETE=Δωρεά λογική διαγραφή πληρωμής +logBILL_PAYED=Πληρωμή τιμολογίου πελάτη +logBILL_UNPAYED=Το τιμολόγιο πελατών έχει οριστεί ως μη πληρωμένο logBILL_VALIDATE=Το τιμολόγιο πελάτη επικυρώθηκε -logBILL_SENTBYMAIL=Customer invoice send by mail -logBILL_DELETE=Customer invoice logically deleted -logMODULE_RESET=Module BlockedLog was disabled -logMODULE_SET=Module BlockedLog was enabled +logBILL_SENTBYMAIL=Τα τιμολόγια πελατών αποστέλλονται ταχυδρομικώς +logBILL_DELETE=Το τιμολόγιο πελατών διαγράφηκε λογικά +logMODULE_RESET=Η μονάδα BlockedLog απενεργοποιήθηκε +logMODULE_SET=Η μονάδα BlockedLog ήταν ενεργοποιημένη logDON_VALIDATE=Επικύρωση δωρεάς logDON_MODIFY=Μετατροπή δωρεάς -logDON_DELETE=Donation logical deletion -logMEMBER_SUBSCRIPTION_CREATE=Member subscription created -logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified -logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion -logCASHCONTROL_VALIDATE=Cash fence recording -BlockedLogBillDownload=Customer invoice download -BlockedLogBillPreview=Customer invoice preview -BlockedlogInfoDialog=Log Details -ListOfTrackedEvents=List of tracked events -Fingerprint=Fingerprint -DownloadLogCSV=Export archived logs (CSV) -logDOC_PREVIEW=Preview of a validated document in order to print or download -logDOC_DOWNLOAD=Download of a validated document in order to print or send -DataOfArchivedEvent=Full datas of archived event -ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data) -BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit. -BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit. -BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log). -OnlyNonValid=Non-valid -TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters. -RestrictYearToExport=Restrict month / year to export +logDON_DELETE=Δωρεά λογική διαγραφή +logMEMBER_SUBSCRIPTION_CREATE=Δημιουργία συνδρομής μέλους +logMEMBER_SUBSCRIPTION_MODIFY=Η συνδρομή μέλους τροποποιήθηκε +logMEMBER_SUBSCRIPTION_DELETE=Συνδρομή λογικής διαγραφής μέλους +logCASHCONTROL_VALIDATE=Εγγραφή φράχτη μετρητών +BlockedLogBillDownload=Λήψη τιμολογίου πελατών +BlockedLogBillPreview=Προβολή τιμολογίου πελατών +BlockedlogInfoDialog=Στοιχεία καταγραφής +ListOfTrackedEvents=Λίστα συμβάντων που παρακολουθούνται +Fingerprint=Δακτυλικό αποτύπωμα +DownloadLogCSV=Εξαγωγή αρχειοθετημένων αρχείων καταγραφής (CSV) +logDOC_PREVIEW=Προεπισκόπηση ενός επικυρωμένου εγγράφου για εκτύπωση ή λήψη +logDOC_DOWNLOAD=Λήψη επικυρωμένου εγγράφου για εκτύπωση ή αποστολή +DataOfArchivedEvent=Πλήρη δεδομένα αρχειοθετημένου γεγονότος +ImpossibleToReloadObject=Το αρχικό αντικείμενο (πληκτρολογήστε %s, id %s) δεν είναι συνδεδεμένο (ανατρέξτε στη στήλη "Πλήρες αρχείο δεδομένων" για να λάβετε αναλλοίωτα αποθηκευμένα δεδομένα) +BlockedLogAreRequiredByYourCountryLegislation=Μπορείτε να ζητήσετε από τη νομοθεσία της χώρας σας τη λειτουργική μονάδα Unalterable Logs. Η απενεργοποίηση αυτής της ενότητας μπορεί να καταστήσει τυχόν μελλοντικές συναλλαγές άκυρες σε σχέση με το νόμο και τη χρήση νόμιμου λογισμικού, καθώς δεν μπορούν να επικυρωθούν από φορολογικό έλεγχο. +BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Το μη τροποποιημένο τμήμα καταγραφής ενεργοποιήθηκε λόγω της νομοθεσίας της χώρας σας. Η απενεργοποίηση αυτής της ενότητας μπορεί να καταστήσει τυχόν μελλοντικές συναλλαγές άκυρες σε σχέση με το νόμο και τη χρήση νόμιμου λογισμικού, καθώς δεν μπορούν να επικυρωθούν από φορολογικό έλεγχο. +BlockedLogDisableNotAllowedForCountry=Κατάλογος χωρών όπου η χρήση αυτής της λειτουργικής μονάδας είναι υποχρεωτική (απλά για να αποφευχθεί η απενεργοποίηση της μονάδας από λάθος, εάν η χώρα σας βρίσκεται σε αυτή τη λίστα, δεν είναι δυνατή η απενεργοποίηση της ενότητας χωρίς την πρώτη επεξεργασία αυτής της λίστας. κρατήστε ένα κομμάτι στο μη αναστρέψιμο αρχείο καταγραφής). +OnlyNonValid=Μη έγκυρη +TooManyRecordToScanRestrictFilters=Πάρα πολλές εγγραφές για σάρωση / ανάλυση. Περιορίστε τη λίστα με πιο περιοριστικά φίλτρα. +RestrictYearToExport=Περιορίστε μήνα / έτος για εξαγωγή diff --git a/htdocs/langs/el_GR/cashdesk.lang b/htdocs/langs/el_GR/cashdesk.lang index 3f41980eefb..3dc213913e9 100644 --- a/htdocs/langs/el_GR/cashdesk.lang +++ b/htdocs/langs/el_GR/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Προσθέστε αυτό το προϊόν RestartSelling=Επιστρέψτε στην πώληση SellFinished=Ολοκληρωμένη πώληση PrintTicket=Εκτύπωση Απόδειξης +SendTicket=Send ticket NoProductFound=Το προϊόν δεν βρέθηκε ProductFound=Το προϊόν βρέθηκε NoArticle=Κανένα προϊόν @@ -48,6 +49,7 @@ Footer=Υποσέλιδο AmountAtEndOfPeriod=Ποσό στο τέλος της περιόδου (ημέρα, μήνας ή έτος) TheoricalAmount=Θεωρητικό ποσό RealAmount=Πραγματικό ποσό +CashFence=Cash fence CashFenceDone=Μετρητά φράχτη για την περίοδο NbOfInvoices=Πλήθος τιμολογίων Paymentnumpad=Τύπος πλακέτας για να πληκτρολογήσετε την πληρωμή @@ -58,8 +60,9 @@ TakeposNeedsCategories=Το TakePOS χρειάζεται κατηγορίες π OrderNotes=Σημειώσεις Παραγγελίας CashDeskBankAccountFor=Προεπιλεγμένος λογαριασμός που θα χρησιμοποιηθεί για πληρωμές σε NoPaimementModesDefined=Δεν έχει ρυθμιστεί η λειτουργία πρατηρίου που έχει οριστεί στη διαμόρφωση του TakePOS -TicketVatGrouped=Φόρος ΦΠΑ βάσει ποσοστού σε εισιτήρια -AutoPrintTickets=Αυτόματη εκτύπωση εισιτηρίων +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Ενεργοποιήστε τις λειτουργίες του μπαρ ή του εστιατορίου ConfirmDeletionOfThisPOSSale=Επιβεβαιώνετε τη διαγραφή αυτής της τρέχουσας πώλησης; ConfirmDiscardOfThisPOSSale=Θέλετε να απορρίψετε αυτήν την τρέχουσα πώληση; @@ -87,7 +90,19 @@ HeadBar=Μπάρα Κεφαλίδας SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/el_GR/companies.lang b/htdocs/langs/el_GR/companies.lang index a3d237a88d9..d5121eceabd 100644 --- a/htdocs/langs/el_GR/companies.lang +++ b/htdocs/langs/el_GR/companies.lang @@ -32,7 +32,7 @@ PriceFormatInCurrentLanguage=Μορφή εμφάνισης τιμής στην ThirdPartyName=Όνομα τρίτου μέρους ThirdPartyEmail=Ηλεκτρονικό ταχυδρομείο τρίτου μέρους ThirdParty=Τρίτο μέρος -ThirdParties=Τρίτους +ThirdParties=Πελάτες/Συνεργάτες ThirdPartyProspects=Προοπτικές ThirdPartyProspectsStats=Προοπτικές ThirdPartyCustomers=Πελάτες @@ -325,7 +325,6 @@ CompanyDeleted="%s" διαγράφηκε από την βάση δεδομένω ListOfContacts=Λίστα αντιπροσώπων ListOfContactsAddresses=Λίστα αντιπροσώπων ListOfThirdParties=Κατάλογος τρίτων μερών -ShowCompany=Εμφάνιση τρίτου μέρους ShowContact=Εμφάνιση Προσώπου Επικοινωνίας ContactsAllShort=Όλα (Χωρίς Φίλτρο) ContactType=Τύπος αντιπροσώπου επικοινωνίας @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=Παρουσιάστηκε σφάλμα κατά τη διαγραφή των τρίτων. Ελέγξτε το αρχείο καταγραφής. Οι αλλαγές έχουν επανέλθει. NewCustomerSupplierCodeProposed=Κωδικός πελάτη ή προμηθευτή που έχει ήδη χρησιμοποιηθεί, προτείνεται ένας νέος κωδικός +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Τύπος Πληρωμής - Πελάτης PaymentTermsCustomer=Όροι πληρωμής - Πελάτης diff --git a/htdocs/langs/el_GR/compta.lang b/htdocs/langs/el_GR/compta.lang index 751a1c0d199..d187476e8bb 100644 --- a/htdocs/langs/el_GR/compta.lang +++ b/htdocs/langs/el_GR/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Ανατρέξτε στο %sanalysis of payments%s γ SeeReportInDueDebtMode=Ανατρέξτε στο %sanalysis των τιμολογίων%s για έναν υπολογισμό βασισμένο σε γνωστά καταγεγραμμένα τιμολόγια, ακόμη και αν δεν έχουν ακόμη καταλογιστεί στο Ledger. SeeReportInBookkeepingMode=Δείτε %sBookeeping report%s για έναν υπολογισμό στον πίνακα " Λογαριασμός Λογιστηρίου" RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- Περιλαμβάνει τα οφειλόμενα τιμολόγια του πελάτη, είτε πληρώνονται είτε όχι.
    - Βασίζεται στην ημερομηνία επικύρωσης αυτών των τιμολογίων.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Περιλαμβάνει όλες τις πραγματικές πληρωμές τιμολογίων που εισπράττονται από πελάτες.
    - Βασίζεται στην ημερομηνία πληρωμής αυτών των τιμολογίων
    RulesCATotalSaleJournal=Περιλαμβάνει όλες τις πιστωτικές γραμμές από το περιοδικό Sale. RulesAmountOnInOutBookkeepingRecord=Περιλαμβάνει την εγγραφή στον Λογαριασμό σας με Λογαριασμούς Λογαριασμού που έχει την ομάδα "ΕΞΟΔΑ" ή "ΕΙΣΟΔΟΣ" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Ο κύκλος εργασιών τιμολογείται απ TurnoverCollectedbyVatrate=Ο κύκλος εργασιών που εισπράττεται από το φορολογικό συντελεστή πώλησης PurchasebyVatrate=Ποσοστό φόρου επί των πωλήσεων LabelToShow=Σύντομη ετικέτα +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 86b72eb9710..f83468b7f5f 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Ο διακομιστής δεν έλαβε ολόκληρο τ ErrorNoTmpDir=Ο προσωρινός φάκελος %s δεν υπάρχει. ErrorUploadBlockedByAddon=Η μεταφόρτωση απετράπει από ένα PHP / Apache plugin. ErrorFileSizeTooLarge=Το μέγεθος του αρχείου είναι πολύ μεγάλο. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Το μέγεθος είναι υπερβολικά μεγάλο για τιμή τύπου ακεραίου (%s είναι το μέγιστο πλήθος ψηφίων) ErrorSizeTooLongForVarcharType=Το μέγεθος είναι υπερβολικά μεγάλο για τιμή τύπου αλφαριθμητικού (%s είναι το μέγιστο πλήθος χαρακτήρων) ErrorNoValueForSelectType=Παρακαλούμε συμπληρώστε τιμή για την αναδυόμενη λίστα επιλογής @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Η παράμετρος PHP upload_max_filesize (%s) είναι υψηλότερη από την παράμετρο PHP post_max_size (%s). Αυτό δεν είναι μια σταθερή ρύθμιση. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index 8a2d7b31c46..b791f0313f3 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Αυτή η PHP υποστηρίζει το Curl. PHPSupportCalendar=Αυτή η PHP υποστηρίζει επεκτάσεις ημερολογίων. PHPSupportUTF8=Αυτή η PHP υποστηρίζει τις λειτουργίες UTF8. PHPSupportIntl=Αυτή η PHP υποστηρίζει τις λειτουργίες Intl. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Η PHP υποστηρίζει %s λειτουργίες . PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Η μνήμη συνεδρίας PHP max έχει οριστεί σε %s bytes. Αυτό είναι πολύ χαμηλό. Αλλάξτε το php.ini για να ρυθμίσετε την παράμετρο memory_limit σε τουλάχιστον bytes %s . @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Η εγκατάσταση της php δεν υποσ ErrorPHPDoesNotSupportCalendar=Η εγκατάσταση της PHP δεν υποστηρίζει επεκτάσεις του php calendar. ErrorPHPDoesNotSupportUTF8=Η εγκατάσταση της PHP δεν υποστηρίζει λειτουργίες UTF8. Το Dolibarr δεν μπορεί να λειτουργήσει σωστά. Επιλύστε αυτό πριν εγκαταστήσετε Dolibarr. ErrorPHPDoesNotSupportIntl=Η εγκατάσταση της PHP δεν υποστηρίζει τις λειτουργίες Intl. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Η εγκατάσταση της PHP σας δεν υποστηρίζει %s λειτουργίες . ErrorDirDoesNotExists=Κατάλογος %s δεν υπάρχει. ErrorGoBackAndCorrectParameters=Επιστρέψτε και ελέγξτε / διορθώστε τις παραμέτρους. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Η εφαρμογή προσπάθησε να α YouTryInstallDisabledByFileLock=Η εφαρμογή προσπάθησε να αυτο-αναβαθμιστεί, αλλά οι σελίδες εγκατάστασης / αναβάθμισης έχουν απενεργοποιηθεί για λόγους ασφαλείας (με την ύπαρξη ενός αρχείου κλειδώματος install.lock στον κατάλογο εγγράφων dolibarr).
    ClickHereToGoToApp=Κάντε κλικ εδώ για να μεταβείτε στην αίτησή σας ClickOnLinkOrRemoveManualy=Κάντε κλικ στον παρακάτω σύνδεσμο. Εάν βλέπετε πάντα την ίδια σελίδα, πρέπει να καταργήσετε / μετονομάσετε το αρχείο install.lock στον κατάλογο εγγράφων. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/el_GR/link.lang b/htdocs/langs/el_GR/link.lang index 2b285448666..7694f341249 100644 --- a/htdocs/langs/el_GR/link.lang +++ b/htdocs/langs/el_GR/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Ο σύνδεσμος %s έχει αφαιρεθεί ErrorFailedToDeleteLink= Απέτυχε η αφαίρεση του συνδέσμου '%s' ErrorFailedToUpdateLink= Απέτυχε η ενημέρωση του σύνδεσμο '%s' URLToLink=Διεύθυνση URL για σύνδεση +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/el_GR/mails.lang b/htdocs/langs/el_GR/mails.lang index c1661e2340f..42f4399baf0 100644 --- a/htdocs/langs/el_GR/mails.lang +++ b/htdocs/langs/el_GR/mails.lang @@ -11,16 +11,16 @@ MailFrom=Αποστολέας MailErrorsTo=Σφάλματα σε MailReply=Απάντηση σε MailTo=Παραλήπτης(ες) -MailToUsers=To user(s) +MailToUsers=Στο χρήστη (ες) MailCC=Αντιγραφή σε -MailToCCUsers=Copy to users(s) +MailToCCUsers=Αντιγραφή σε χρήστες MailCCC=Cached copy to -MailTopic=Email topic +MailTopic=Θέμα ηλεκτρονικού ταχυδρομείου MailText=Μήνυμα MailFile=Επισυναπτώμενα Αρχεία MailMessage=Κείμενο email -SubjectNotIn=Not in Subject -BodyNotIn=Not in Body +SubjectNotIn=Όχι στο θέμα +BodyNotIn=Όχι στο Σώμα ShowEMailing=Show emailing ListOfEMailings=List of emailings NewMailing=New emailing @@ -47,19 +47,19 @@ MailingStatusReadAndUnsubscribe=Read and unsubscribe ErrorMailRecipientIsEmpty=Email recipient is empty WarningNoEMailsAdded=No new Email to add to recipient's list. ConfirmValidMailing=Are you sure you want to validate this emailing? -ConfirmResetMailing=Warning, by re-initializing emailing %s, you will allow the re-sending this email in a bulk mailing. Are you sure you want to do this? -ConfirmDeleteMailing=Are you sure you want to delete this emailing? -NbOfUniqueEMails=No. of unique emails -NbOfEMails=No. of EMails +ConfirmResetMailing=Προειδοποίηση, ενεργοποιώντας εκ νέου την αποστολή e-mail %s , θα επιτρέψετε την επανάδοση αυτού του μηνύματος ηλεκτρονικού ταχυδρομείου σε μαζική αλληλογραφία. Είστε βέβαιοι ότι θέλετε να το κάνετε αυτό; +ConfirmDeleteMailing=Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου; +NbOfUniqueEMails=Αριθμός μοναδικών μηνυμάτων ηλεκτρονικού ταχυδρομείου +NbOfEMails=Αριθμός Emails TotalNbOfDistinctRecipients=Number of distinct recipients NoTargetYet=No recipients defined yet (Go on tab 'Recipients') -NoRecipientEmail=No recipient email for %s +NoRecipientEmail=Δεν υπάρχει ηλεκτρονικό ταχυδρομείο παραλήπτη για %s RemoveRecipient=Remove recipient YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values MailingAddFile=Attach this file NoAttachedFiles=No attached files -BadEMail=Bad value for Email +BadEMail=Κακή τιμή για το μήνυμα ηλεκτρονικού ταχυδρομείου ConfirmCloneEMailing=Are you sure you want to clone this emailing? CloneContent=Clone message CloneReceivers=Cloner recipients @@ -67,31 +67,31 @@ DateLastSend=Ημερομηνία τελευταίας αποστολής DateSending=Date sending SentTo=Sent to %s MailingStatusRead=Ανάγνωση -YourMailUnsubcribeOK=The email %s is correctly unsubscribe from mailing list -ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubscribe" feature -EMailSentToNRecipients=Email sent to %s recipients. -EMailSentForNElements=Email sent for %s elements. +YourMailUnsubcribeOK=Το e - mail %s καταργείται σωστά από τη λίστα αλληλογραφίας +ActivateCheckReadKey=Το κλειδί που χρησιμοποιείται για την κρυπτογράφηση της διεύθυνσης URL που χρησιμοποιείται για τη λειτουργία "Έγγραφο ανάγνωσης" και "Κατάργηση εγγραφής" +EMailSentToNRecipients=Το μήνυμα ηλεκτρονικού ταχυδρομείου αποστέλλεται στους παραλήπτες %s. +EMailSentForNElements=Το ηλεκτρονικό ταχυδρομείο στάλθηκε για στοιχεία %s. XTargetsAdded=%s παραλήπτες που προστέθηκαν στο κατάλογο των στόχων -OnlyPDFattachmentSupported=If the PDF documents were already generated for the objects to send, they will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachments in mass sending in this version). -AllRecipientSelected=The recipients of the %s record selected (if their email is known). -GroupEmails=Group emails -OneEmailPerRecipient=One email per recipient (by default, one email per record selected) -WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them. -ResultOfMailSending=Result of mass Email sending -NbSelected=Number selected -NbIgnored=Number ignored -NbSent=Number sent -SentXXXmessages=%s message(s) sent. +OnlyPDFattachmentSupported=Αν τα έγγραφα PDF δημιουργήθηκαν ήδη για τα αντικείμενα που θα αποσταλούν, θα επισυνάπτονται στο ηλεκτρονικό ταχυδρομείο. Εάν όχι, δεν θα αποσταλεί κανένα μήνυμα ηλεκτρονικού ταχυδρομείου (επίσης, σημειώστε ότι μόνο έγγραφα pdf υποστηρίζονται ως συνημμένα στη μαζική αποστολή σε αυτή την έκδοση). +AllRecipientSelected=Οι παραλήπτες της εγγραφής %s έχουν επιλεγεί (αν είναι γνωστό το email τους). +GroupEmails=Ομαδικά μηνύματα ηλεκτρονικού ταχυδρομείου +OneEmailPerRecipient=Ένα μήνυμα ηλεκτρονικού ταχυδρομείου ανά παραλήπτη (από προεπιλογή, επιλέγεται ένα μήνυμα ηλεκτρονικού ταχυδρομείου ανά εγγραφή) +WarningIfYouCheckOneRecipientPerEmail=Προειδοποίηση, αν επιλέξετε αυτό το πλαίσιο, σημαίνει ότι θα αποσταλεί μόνο ένα μήνυμα ηλεκτρονικού ταχυδρομείου για πολλές διαφορετικές εγγραφές, επομένως εάν το μήνυμά σας περιέχει μεταβλητές υποκατάστασης που αναφέρονται σε δεδομένα ενός αρχείου, δεν είναι δυνατή η αντικατάστασή τους. +ResultOfMailSending=Αποτέλεσμα της μαζικής αποστολής ηλεκτρονικού ταχυδρομείου +NbSelected=Ο αριθμός είναι επιλεγμένος +NbIgnored=Ο αριθμός αγνοήθηκε +NbSent=Ο αριθμός αποστέλλεται +SentXXXmessages=%s αποστέλλεται μήνυμα (ες). ConfirmUnvalidateEmailing=Are you sure you want to change email %s to draft status? MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters -MailingModuleDescContactsByCompanyCategory=Contacts by third-party category +MailingModuleDescContactsByCompanyCategory=Επαφές ανά κατηγορία τρίτων MailingModuleDescContactsByCategory=Contacts by categories MailingModuleDescContactsByFunction=Contacts by position -MailingModuleDescEmailsFromFile=Emails from file -MailingModuleDescEmailsFromUser=Emails input by user -MailingModuleDescDolibarrUsers=Users with Emails -MailingModuleDescThirdPartiesByCategories=Third parties (by categories) -SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed. +MailingModuleDescEmailsFromFile=Τα μηνύματα ηλεκτρονικού ταχυδρομείου από το αρχείο +MailingModuleDescEmailsFromUser=Εισαγωγή μηνυμάτων ηλεκτρονικού ταχυδρομείου από το χρήστη +MailingModuleDescDolibarrUsers=Χρήστες με μηνύματα ηλεκτρονικού ταχυδρομείου +MailingModuleDescThirdPartiesByCategories=Τρίτα μέρη (κατά κατηγορίες) +SendingFromWebInterfaceIsNotAllowed=Η αποστολή από τη διεπαφή ιστού δεν επιτρέπεται. # Libelle des modules de liste de destinataires mailing LineInFile=Σειρά %s στο αρχείο @@ -119,9 +119,9 @@ DeliveryReceipt=Delivery Ack. YouCanUseCommaSeparatorForSeveralRecipients=Μπορείτε να χρησιμοποιήσετε το κόμμα σαν διαχωριστή για να καθορίσετε πολλούς παραλήπτες. TagCheckMail=Παρακολούθηση άνοιγμα της αλληλογραφίας TagUnsubscribe=link διαγραφής -TagSignature=Signature of sending user -EMailRecipient=Recipient Email -TagMailtoEmail=Recipient Email (including html "mailto:" link) +TagSignature=Υπογραφή του χρήστη αποστολής +EMailRecipient=Email παραλήπτη +TagMailtoEmail=E-mail παραλήπτη (συμπεριλαμβανομένου του συνδέσμου html "mailto:") NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. # Module Notifications Notifications=Notifications @@ -139,22 +139,22 @@ NbOfTargetedContacts=Τρέχων αριθμός των στοχευμένων UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other MailAdvTargetRecipients=Recipients (advanced selection) -AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target -AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima% will target all jean, joe, start with jim but not jimo and not everything that starts with jima +AdvTgtTitle=Συμπληρώστε τα πεδία εισαγωγής για να επιλέξετε εκ των προτέρων τα τρίτα μέρη ή τις επαφές / διευθύνσεις που θέλετε να στοχεύσετε +AdvTgtSearchTextHelp=Χρησιμοποιήστε %% ως μπαλαντέρ. Για παράδειγμα, για να βρείτε όλα τα στοιχεία όπως το jean, joe, jim , μπορείτε να εισάγετε το j%% , μπορείτε επίσης να χρησιμοποιήσετε. ως διαχωριστικό για αξία και χρήση! για εκτός αυτής της τιμής. Για παράδειγμα, το jean, joe, jim%%;! Jimo;! Jima% θα στοχεύσει όλους τους Jean, joe, ξεκινήστε με τον Jim αλλά όχι το jimo και όχι με όλα όσα αρχίζουν με jima AdvTgtSearchIntHelp=Use interval to select int or float value AdvTgtMinVal=Ελάχιστη τιμή AdvTgtMaxVal=Μέγιστη τιμή AdvTgtSearchDtHelp=Use interval to select date value AdvTgtStartDt=Start dt. AdvTgtEndDt=End dt. -AdvTgtTypeOfIncudeHelp=Target Email of third party and email of contact of the third party, or just third-party email or just contact email +AdvTgtTypeOfIncudeHelp=Στόχευση ηλεκτρονικού ταχυδρομείου τρίτου μέρους και ηλεκτρονικού ταχυδρομείου της επαφής τρίτου μέρους, ή απλώς ηλεκτρονικού ταχυδρομείου τρίτου μέρους ή απλά ηλεκτρονικού ταχυδρομείου επικοινωνίας AdvTgtTypeOfIncude=Type of targeted email AdvTgtContactHelp=Use only if you target contact into "Type of targeted email" AddAll=Add all RemoveAll=Remove all ItemsCount=Item(s) AdvTgtNameTemplate=Filter name -AdvTgtAddContact=Add emails according to criteria +AdvTgtAddContact=Προσθέστε μηνύματα ηλεκτρονικού ταχυδρομείου σύμφωνα με τα κριτήρια AdvTgtLoadFilter=Load filter AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) -DefaultOutgoingEmailSetup=Default outgoing email setup +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) +DefaultOutgoingEmailSetup=Προεπιλεγμένη ρύθμιση εξερχόμενων email Information=Πληροφορίες -ContactsWithThirdpartyFilter=Contacts with third-party filter +ContactsWithThirdpartyFilter=Επαφές με φίλτρο τρίτου μέρους diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index 6971d613515..8c10cd22771 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Εξοικονομήστε και μείνετε SaveAndNew=Αποθήκευση και Νέο TestConnection=Δοκιμή Σύνδεσης ToClone=Κλωνοποίηση +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Επιλέξτε τα δεδομένα που θέλετε να κλωνοποιήσετε: NoCloneOptionsSpecified=Δεν καθορίστηκαν δεδομένα προς κλωνοποίηση. Of=του @@ -829,6 +830,8 @@ Gender=Φύλο Genderman=Άνδρας Genderwoman=Γυναίκα ViewList=Προβολή λίστας +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Υποχρεωτικό Hello=Χαίρετε GoodBye=Αντιο σας @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Επιλέξτε τις επιλογές γραφή Measures=Μετρήσεις XAxis=Άξονας Χ YAxis=Άξονας Υ +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/el_GR/other.lang b/htdocs/langs/el_GR/other.lang index c63a3955e87..15ec472fef1 100644 --- a/htdocs/langs/el_GR/other.lang +++ b/htdocs/langs/el_GR/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Μόνο 1 πεδίο είναι επί του παρόντος δυνατός ως Άξονας Χ. Έχει επιλεγεί μόνο το πρώτο επιλεγμένο πεδίο. AtLeastOneMeasureIsRequired=Απαιτείται τουλάχιστον 1 πεδίο για μέτρηση AtLeastOneXAxisIsRequired=Απαιτείται τουλάχιστον 1 πεδίο για τον άξονα Χ - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Η εντολή πώλησης έχει επικυρωθεί Notify_ORDER_SENTBYMAIL=Η εντολή πωλήσεων αποστέλλεται μέσω ταχυδρομείου Notify_ORDER_SUPPLIER_SENTBYMAIL=Η εντολή αγοράς στάλθηκε μέσω ηλεκτρονικού ταχυδρομείου @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Σύνδεσμος URL της σελίδας WEBSITE_TITLE=Τίτλος WEBSITE_DESCRIPTION=Περιγραφή WEBSITE_IMAGE=Εικόνα -WEBSITE_IMAGEDesc=Σχετική διαδρομή των μέσων εικόνας. Μπορείτε να το κρατήσετε κενό, καθώς σπάνια χρησιμοποιείται (μπορεί να χρησιμοποιηθεί από το δυναμικό περιεχόμενο για να εμφανιστεί μια μικρογραφία σε μια λίστα με αναρτήσεις ιστολογίου). Χρησιμοποιήστε το __WEBSITEKEY__ στη διαδρομή εάν η διαδρομή εξαρτάται από το όνομα του ιστότοπου. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Λέξεις κλειδιά LinesToImport=Γραμμές για εισαγωγή diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 305f375aae5..8aacaf0bf5a 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Αυτό το εργαλείο ενημερώνει τ MassBarcodeInit=Μαζική barcode init MassBarcodeInitDesc=Αυτή η σελίδα μπορεί να χρησιμοποιείται για να προετοιμάσει ένα barcode σε αντικείμενα που δεν έχουν barcode. Ελέγξτε πριν από την εγκατάσταση του module barcode αν έχει ολοκληρωθεί. ProductAccountancyBuyCode=Λογιστικός Κωδικός (Αγορά) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Λογιστικός Κωδικός (Πώληση) ProductAccountancySellIntraCode=Κωδικός λογιστικής (ενδοκοινοτική πώληση) ProductAccountancySellExportCode=Λογιστικός κωδικός (εξαγωγή πώλησης) @@ -165,7 +167,7 @@ SuppliersPrices=Τιμές πωλητών SuppliersPricesOfProductsOrServices=Τιμές πωλητών (προϊόντων ή υπηρεσιών) CustomCode=Τελωνείο / εμπορεύματα / κωδικός ΕΣ CountryOrigin=Χώρα προέλευσης -Nature=Φύση του προϊόντος (υλικό / έτοιμο) +Nature=Nature of product (material/finished) ShortLabel=Σύντομη ετικέτα Unit=Μονάδα p=Μονάδα diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index a9273d9d0f2..a94c36251e3 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=που είμαι συνδεδεμένος με το έ Time=Χρόνος ListOfTasks=Κατάλογος εργασιών GoToListOfTimeConsumed=Μεταβείτε στη λίστα του χρόνου που καταναλώνετε -GoToListOfTasks=Εμφάνιση ως λίστα -GoToGanttView=δείτε ως Gantt GanttView=Gantt View ListProposalsAssociatedProject=Κατάλογος των εμπορικών προτάσεων που σχετίζονται με το έργο ListOrdersAssociatedProject=Κατάλογος παραγγελιών πωλήσεων που σχετίζονται με το έργο @@ -188,7 +186,7 @@ PlannedWorkload=Σχέδιο φόρτου εργασίας PlannedWorkloadShort=Φόρτος εργασίας ProjectReferers=Σχετικά αντικείμενα ProjectMustBeValidatedFirst=Το έργο πρέπει να επικυρωθεί πρώτα -FirstAddRessourceToAllocateTime=Εκχωρήστε μια πηγή χρήστη σε εργασία για να διαθέσετε χρόνο +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Εισαγωγή ανά ημέρα InputPerWeek=Εισαγωγή ανά εβδομάδα InputPerMonth=Είσοδος / εισαγωγή ανά μήνα @@ -240,6 +238,7 @@ LatestModifiedProjects=Τελευταία τροποποιημένα έργα %s OtherFilteredTasks=Άλλες φιλτραρισμένες εργασίες NoAssignedTasks=Δεν εντοπίστηκαν καθήκοντα που έχουν ανατεθεί (αναθέστε το έργο / εργασίες στον τρέχοντα χρήστη από το κορυφαίο πλαίσιο επιλογής για να εισάγετε χρόνο σε αυτό) ThirdPartyRequiredToGenerateInvoice=Ένα τρίτο μέρος πρέπει να οριστεί στο έργο για να μπορεί να το τιμολογεί. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Επιτρέψτε στα σχόλια των χρηστών τις εργασίες AllowCommentOnProject=Να επιτρέπεται στα σχόλια των χρηστών τα έργα @@ -265,3 +264,4 @@ InvoiceToUse=Προσχέδιο τιμολογίου προς χρήση NewInvoice=Νέο τιμολόγιο OneLinePerTask=Μια γραμμή ανά εργασία OneLinePerPeriod=Μία γραμμή ανά περίοδο +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/el_GR/receiptprinter.lang b/htdocs/langs/el_GR/receiptprinter.lang index 49ca178442c..a0d9eff853e 100644 --- a/htdocs/langs/el_GR/receiptprinter.lang +++ b/htdocs/langs/el_GR/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Εκτυπωτής Dummy CONNECTOR_NETWORK_PRINT=Δικτυακός εκτυπωτής CONNECTOR_FILE_PRINT=Τοπικός εκτυπωτής CONNECTOR_WINDOWS_PRINT=Τοπικός εκτυπωτής Windows +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Εικονικός εκτυπωτής για ελέγχους, δεν κάνει τίποτα CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: μυστικό @ computername / workgroup / Εκτυπωτής παραλαβής +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Προεπιλεγμένο προφίλ PROFILE_SIMPLE=Απλό προφίλ PROFILE_EPOSTEP=Epos Προφίλ Tep @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Μήνας τιμολογίου με γράμματα DOL_VALUE_MONTH=Μήνας τιμολογίου DOL_VALUE_DAY=Ημέρα τιμολογίου DOL_VALUE_DAY_LETTERS=Ημέρα τιμολογίου με γράμματα +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Κωδ. τιμολογίου +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Ενδοκοινοτικό ΑΦΜ +DOL_VALUE_MYSOC_CAPITAL=Κεφάλαιο Κίνησης +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/el_GR/stripe.lang b/htdocs/langs/el_GR/stripe.lang index 28c49089cf9..3b1466bcad6 100644 --- a/htdocs/langs/el_GR/stripe.lang +++ b/htdocs/langs/el_GR/stripe.lang @@ -32,6 +32,7 @@ VendorName=Όνομα του πωλητή CSSUrlForPaymentForm=Url CSS φύλλο στυλ για το έντυπο πληρωμής NewStripePaymentReceived=Πληρωμή της νέας ταινίας Stripe NewStripePaymentFailed=Η πληρωμή του νέου Stripe προσπάθησε αλλά απέτυχε +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Μυστικό κλειδί δοκιμής STRIPE_TEST_PUBLISHABLE_KEY=Κλειδί ελέγχου δοκιμαστικής έκδοσης STRIPE_TEST_WEBHOOK_KEY=Πλήκτρο δοκιμής Webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Σύνδεση με τη ρύθμιση Stripe WebHoo ToOfferALinkForLiveWebhook=Σύνδεση στη ρύθμιση Stripe WebHook για κλήση του IPN (ζωντανή λειτουργία) PaymentWillBeRecordedForNextPeriod=Η πληρωμή θα καταγραφεί για την επόμενη περίοδο. ClickHereToTryAgain=Κάντε κλικ εδώ για να δοκιμάσετε ξανά ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Λόγω ισχυρών κανόνων αυθεντικότητας πελατών, η δημιουργία μιας κάρτας πρέπει να γίνεται από το Stripe backoffice. Μπορείτε να κάνετε κλικ εδώ για να μεταφερθείτε στην εγγραφή πελάτη Stripe: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/el_GR/users.lang b/htdocs/langs/el_GR/users.lang index b31fdbc0741..bc56e33fb69 100644 --- a/htdocs/langs/el_GR/users.lang +++ b/htdocs/langs/el_GR/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Χρήστες και τις ιδιότητές τους DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=Αυτή η φόρμα σάς επιτρέπει να δημιουργήσετε έναν εσωτερικό χρήστη στην εταιρεία / οργανισμό σας. Για να δημιουργήσετε έναν εξωτερικό χρήστη (πελάτη, προμηθευτή κ.λπ.), χρησιμοποιήστε το κουμπί "Δημιουργία χρήστη Dolibarr" από την κάρτα επαφών του τρίτου μέρους. -InternalExternalDesc=Ένας εσωτερικός χρήστης είναι χρήστης που αποτελεί μέρος της εταιρείας / οργανισμού σας.
    Ένας εξωτερικός χρήστης είναι πελάτης, πωλητής ή άλλος.

    Και στις δύο περιπτώσεις, τα δικαιώματα καθορίζουν δικαιώματα στο Dolibarr, και ο εξωτερικός χρήστης μπορεί να έχει διαφορετικό διαχειριστή μενού από τον εσωτερικό χρήστη (βλέπε Αρχική σελίδα - Εγκατάσταση - Εμφάνιση) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Δημιουργήθηκε χρήστη θα είναι ένας εσωτερικός χρήστης (επειδή δεν συνδέεται με ένα συγκεκριμένο τρίτο μέρος) @@ -113,3 +113,5 @@ CantDisableYourself=Δεν μπορείτε να απενεργοποιήσετ ForceUserExpenseValidator=Έγκριση έκθεσης εξόδου ισχύος ForceUserHolidayValidator=Έγκριση αίτησης για άδεια εξόδου ValidatorIsSupervisorByDefault=Από προεπιλογή, ο επικυρωτής είναι ο επόπτης του χρήστη. Κρατήστε κενό για να διατηρήσετε αυτή τη συμπεριφορά. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/el_GR/website.lang b/htdocs/langs/el_GR/website.lang index 706b8c5caf1..b64c183fce7 100644 --- a/htdocs/langs/el_GR/website.lang +++ b/htdocs/langs/el_GR/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Προβολή σελίδας σε νέα καρτέλα SetAsHomePage=Ορισμός σαν αρχική σελίδα RealURL=Πραγματική διεύθυνση URL ViewWebsiteInProduction=Προβάλετε τον ιστότοπο χρησιμοποιώντας τις διευθύνσεις URL για το σπίτι -SetHereVirtualHost=Χρήση με Apache / NGinx / ...
    Αν μπορείτε να δημιουργήσετε στον διακομιστή ιστού (Apache, Nginx, ...) ένα ειδικό εικονικό κεντρικό υπολογιστή με ενεργοποιημένη την PHP και έναν κατάλογο Root σε
    %s
    στη συνέχεια, ορίστε το όνομα του εικονικού κεντρικού υπολογιστή που έχετε δημιουργήσει στις ιδιότητες του ιστότοπου, οπότε η προεπισκόπηση μπορεί να γίνει επίσης χρησιμοποιώντας αυτήν την αποκλειστική πρόσβαση στο διακομιστή web αντί για τον εσωτερικό διακομιστή Dolibarr. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Χρήση με ενσωματωμένο διακομιστή PHP
    Στο περιβάλλον ανάπτυξης, μπορεί να προτιμάτε να δοκιμάσετε τον ιστότοπο με τον ενσωματωμένο διακομιστή ιστού PHP (απαιτείται PHP 5.5) εκτελώντας
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Εκτελέστε τον ιστότοπό σας με έναν άλλο πάροχο φιλοξενίας Dolibarr
    Αν δεν διαθέτετε διακομιστή ιστού όπως το Apache ή το NGinx που διατίθεται στο Διαδίκτυο, μπορείτε να εξάγετε και να εισάγετε την ιστοσελίδα σας σε μια άλλη παρουσία Dolibarr που παρέχεται από έναν άλλο πάροχο φιλοξενίας Dolibarr που παρέχει πλήρη ενσωμάτωση στην ενότητα Website. Μπορείτε να βρείτε μια λίστα με ορισμένους παρόχους φιλοξενίας Dolibarr στη διεύθυνση https://saas.dolibarr.org CheckVirtualHostPerms=Ελέγξτε επίσης ότι ο εικονικός κεντρικός υπολογιστής έχει άδεια %s σε αρχεία σε
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Λυπούμαστε, αυτός ο ιστότο WEBSITE_USE_WEBSITE_ACCOUNTS=Ενεργοποιήστε τον πίνακα λογαριασμού web site WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Ενεργοποιήστε τον πίνακα για να αποθηκεύσετε λογαριασμούς ιστότοπων (login / pass) για κάθε ιστότοπο / τρίτο μέρος YouMustDefineTheHomePage=Πρέπει πρώτα να ορίσετε την προεπιλεγμένη Αρχική σελίδα -OnlyEditionOfSourceForGrabbedContentFuture=Προειδοποίηση: Η δημιουργία μιας ιστοσελίδας με την εισαγωγή μιας εξωτερικής ιστοσελίδας προορίζεται αποκλειστικά για έμπειρους χρήστες. Ανάλογα με την πολυπλοκότητα της σελίδας πηγής, το αποτέλεσμα της εισαγωγής μπορεί να διαφέρει από το πρωτότυπο. Επίσης, αν η αρχική σελίδα χρησιμοποιεί κοινά στυλ CSS ή αντιφατικό javascript, μπορεί να σπάσει το βλέμμα ή τα χαρακτηριστικά του επεξεργαστή ιστότοπου κατά την εργασία σε αυτή τη σελίδα. Αυτή η μέθοδος είναι ένας πιο γρήγορος τρόπος για να δημιουργήσετε μια σελίδα, αλλά συνιστάται η δημιουργία της νέας σελίδας από την αρχή ή ενός προτεινόμενου προτύπου σελίδας.
    Σημειώστε επίσης ότι οι τροποποιήσεις της πηγής HTML θα είναι δυνατές όταν το περιεχόμενο της σελίδας έχει αρχικοποιηθεί, αρπάζοντάς το από μια εξωτερική σελίδα (ο εκδότης "Online" ΔΕΝ θα είναι διαθέσιμος) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Μόνο έκδοση πηγής HTML είναι δυνατή όταν το περιεχόμενο έχει ληφθεί από έναν εξωτερικό ιστότοπο GrabImagesInto=Πιάσε επίσης τις εικόνες που βρέθηκαν στο css και τη σελίδα. ImagesShouldBeSavedInto=Οι εικόνες πρέπει να αποθηκεύονται στον κατάλογο @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Για καλές πρακτικές SEO, χρησιμ MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/en_AU/admin.lang b/htdocs/langs/en_AU/admin.lang index d4c9f69d86a..0490a990d18 100644 --- a/htdocs/langs/en_AU/admin.lang +++ b/htdocs/langs/en_AU/admin.lang @@ -1,10 +1,18 @@ # Dolibarr language file - Source file is en_US - admin +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. YouCanSubmitFile=You can upload the .zip file of module package from here: OldVATRates=Old GST rate NewVATRates=New GST rate +ExternalModule=External module Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +DictionaryCivility=Honorific titles DictionaryVAT=GST Rates or Sales Tax Rates ValueOfConstantKey=Value of a configuration constant +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. OptionVatMode=GST due SuppliersCommandModel=Complete template of Purchase Order SuppliersInvoiceModel=Complete template of Vendor Invoice diff --git a/htdocs/langs/en_AU/bills.lang b/htdocs/langs/en_AU/bills.lang index c77da1a3417..0488d509e28 100644 --- a/htdocs/langs/en_AU/bills.lang +++ b/htdocs/langs/en_AU/bills.lang @@ -1,4 +1,8 @@ # Dolibarr language file - Source file is en_US - bills +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? PaymentTypeCHQ=Cheque PaymentTypeShortCHQ=Cheque BankCode=BSB @@ -11,4 +15,5 @@ MenuCheques=Cheques NewChequeDeposit=New Cheque deposit Cheques=Cheques NbCheque=Number of cheques -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +RevenueStamp=Tax stamp +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template diff --git a/htdocs/langs/en_AU/cashdesk.lang b/htdocs/langs/en_AU/cashdesk.lang index adbd9cf9e57..690785ca368 100644 --- a/htdocs/langs/en_AU/cashdesk.lang +++ b/htdocs/langs/en_AU/cashdesk.lang @@ -1,2 +1,4 @@ # Dolibarr language file - Source file is en_US - cashdesk NoVAT=No GST for this sale +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts diff --git a/htdocs/langs/en_AU/compta.lang b/htdocs/langs/en_AU/compta.lang index 83b73fd798d..b5831e1cb0e 100644 --- a/htdocs/langs/en_AU/compta.lang +++ b/htdocs/langs/en_AU/compta.lang @@ -8,7 +8,6 @@ CheckReceipt=Cheque deposit CheckReceiptShort=Cheque deposit NewCheckDeposit=New cheque deposit DateChequeReceived=Cheque received date -RulesResultDue=- It includes outstanding invoices, expenses, GST, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and GST and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, GST and salaries.
    - It is based on the payment dates of the invoices, expenses, GST and salaries. The donation date for donation. VATReportByCustomersInInputOutputMode=Report by the customer GST collected and paid SeeVATReportInInputOutputMode=See report %sGST encasement%s for a standard calculation diff --git a/htdocs/langs/en_CA/admin.lang b/htdocs/langs/en_CA/admin.lang index 3f3f6558559..02f884882dd 100644 --- a/htdocs/langs/en_CA/admin.lang +++ b/htdocs/langs/en_CA/admin.lang @@ -1,9 +1,17 @@ # Dolibarr language file - Source file is en_US - admin +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. YouCanSubmitFile=You can upload the .zip file of module package from here: +ExternalModule=External module Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +DictionaryCivility=Honorific titles LocalTax1Management=PST Management ValueOfConstantKey=Value of a configuration constant CompanyZip=Postal code +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. LDAPFieldZip=Postal code SuppliersCommandModel=Complete template of Purchase Order SuppliersInvoiceModel=Complete template of Vendor Invoice diff --git a/htdocs/langs/en_GB/admin.lang b/htdocs/langs/en_GB/admin.lang index 41895afffce..f435d660136 100644 --- a/htdocs/langs/en_GB/admin.lang +++ b/htdocs/langs/en_GB/admin.lang @@ -10,6 +10,8 @@ ErrorDecimalLargerThanAreForbidden=Error: A precision higher than %s is n ErrorReservedTypeSystemSystemAuto=Entry of 'system' and 'systemauto' for this type is reserved. You can use 'user' as a value to add your own record ErrorCodeCantContainZero=Code can't contain value 0 (zero) MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to prevent any uploads) +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" CurrentValueSeparatorThousand=Thousands separator PositionByDefault=Default position MenusDesc=Menu managers set the content of the two menu bars (horizontal and vertical). @@ -18,6 +20,7 @@ PurgeDeleteLogFile=Delete log files, including %s defined by Syslog modul ConfirmPurgeAuditEvents=Are you sure you want to purge all security events? All security logs will be deleted but no other data will be removed. ImportPostgreSqlDesc=To import a backup file, you must use the pg_restore command from the command line: CommandsToDisableForeignKeysForImportWarning=This is mandatory if you want to restore your sql dumps later +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download from external websites on the Internet... ModulesMarketPlaces=Find external applications and modules AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is enabled @@ -42,11 +45,16 @@ UMaskExplanation=This parameter allows you to define permissions set by default ListOfDirectories=List of OpenDocument template directories ListOfDirectoriesForModelGenODT=List of directories containing template files in OpenDocument format.

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

    Files in those directories must end with .odt or .ods. FollowingSubstitutionKeysCanBeUsed=
    To learn how to create your .odt document templates, before storing them in those directories, read wiki documentation: +ExternalModule=External module Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). Module50200Name=PayPal +DictionaryCivility=Honorific titles DictionaryAccountancyJournal=Finance journals ValueOfConstantKey=Value of a configuration constant CompanyZip=Postcode +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. LDAPFieldZip=Postcode GenbarcodeLocation=Barcode generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
    For example: /usr/local/bin/genbarcode SuppliersCommandModel=Complete template of Purchase Order diff --git a/htdocs/langs/en_GB/bills.lang b/htdocs/langs/en_GB/bills.lang index 0d3b3922da9..b500a49afcd 100644 --- a/htdocs/langs/en_GB/bills.lang +++ b/htdocs/langs/en_GB/bills.lang @@ -2,6 +2,10 @@ InvoiceDeposit=Deposit invoice InvoiceDepositAsk=Deposit invoice InvoiceDepositDesc=This kind of invoice is raised when a deposit has been received. +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? PaymentHigherThanReminderToPay=Payment higher than balance outstanding ConfirmValidatePayment=Are you sure you want to validate this payment? No changes can be made once payment is validated. ShowInvoiceDeposit=Show deposit invoice @@ -21,6 +25,7 @@ PrettyLittleSentence=Accept the amount of payments due by cheques issued in my n MenuCheques=Cheques Cheques=Cheques NbCheque=Number of cheques -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +RevenueStamp=Tax stamp +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for deposit 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 CactusNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for deposit invoices where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 diff --git a/htdocs/langs/en_GB/cashdesk.lang b/htdocs/langs/en_GB/cashdesk.lang index 0188074370e..87ee48c4d72 100644 --- a/htdocs/langs/en_GB/cashdesk.lang +++ b/htdocs/langs/en_GB/cashdesk.lang @@ -6,3 +6,5 @@ NewSell=New sale RestartSelling=Go back to sales NoProductFound=No product found NoArticle=No product +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts diff --git a/htdocs/langs/en_GB/projects.lang b/htdocs/langs/en_GB/projects.lang index f506b1a134e..be0ee26f4eb 100644 --- a/htdocs/langs/en_GB/projects.lang +++ b/htdocs/langs/en_GB/projects.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - projects CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See referrers tab. +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time diff --git a/htdocs/langs/en_GB/users.lang b/htdocs/langs/en_GB/users.lang index 33514bcb0de..99d06414135 100644 --- a/htdocs/langs/en_GB/users.lang +++ b/htdocs/langs/en_GB/users.lang @@ -5,6 +5,7 @@ RemoveFromGroup=Remove from a group ConfirmPasswordReset=Confirm password change NonAffectedUsers=Non-assigned users UsePersonalValue=Use a personal choice +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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 through inherited rights from one of the user groups. UserWillBeInternalUser=Created user will be an internal user (because they are not linked to a particular third party) UserWillBeExternalUser=Created user will be an external user (because they are linked to a particular third party) diff --git a/htdocs/langs/en_GB/website.lang b/htdocs/langs/en_GB/website.lang index ef8e16da6ad..66eedde4939 100644 --- a/htdocs/langs/en_GB/website.lang +++ b/htdocs/langs/en_GB/website.lang @@ -1,2 +1,4 @@ # Dolibarr language file - Source file is en_US - website PageNameAliasHelp=Name or alias of the page.
    This alias is also used to forge an SEO URL when the website is run from a Virtual host of a Web server (like Apache, Nginx, ...). Use the button "%s" to edit this alias. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. diff --git a/htdocs/langs/en_IN/admin.lang b/htdocs/langs/en_IN/admin.lang index 74c99fddfd7..ad87b77f8aa 100644 --- a/htdocs/langs/en_IN/admin.lang +++ b/htdocs/langs/en_IN/admin.lang @@ -1,5 +1,9 @@ # Dolibarr language file - Source file is en_US - admin +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. YouCanSubmitFile=You can upload the .zip file of module package from here: +ExternalModule=External module Module20Name=Quotations Module20Desc=Management of quotations Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). @@ -10,7 +14,11 @@ Permission25=Send quotations Permission26=Close quotations Permission27=Delete quotations Permission28=Export quotations +DictionaryCivility=Honorific titles ValueOfConstantKey=Value of a configuration constant +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. PropalSetup=Quotation module setup ProposalsNumberingModules=Quotation numbering models ProposalsPDFModules=Quotation documents models diff --git a/htdocs/langs/en_IN/bills.lang b/htdocs/langs/en_IN/bills.lang index fd7a230ef58..2f4fcf8b1e9 100644 --- a/htdocs/langs/en_IN/bills.lang +++ b/htdocs/langs/en_IN/bills.lang @@ -1,3 +1,8 @@ # Dolibarr language file - Source file is en_US - bills +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? RelatedCommercialProposals=Related quotations -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +RevenueStamp=Tax stamp +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template diff --git a/htdocs/langs/en_IN/other.lang b/htdocs/langs/en_IN/other.lang index 9389a3062de..47ee7b86fa1 100644 --- a/htdocs/langs/en_IN/other.lang +++ b/htdocs/langs/en_IN/other.lang @@ -3,4 +3,3 @@ Notify_PROPAL_VALIDATE=Quotation validated Notify_PROPAL_SENTBYMAIL=Quotation sent by mail NumberOfProposals=Number of quotations NumberOfUnitsProposals=Number of units on quotations -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. diff --git a/htdocs/langs/en_IN/projects.lang b/htdocs/langs/en_IN/projects.lang index bece63d2190..a8becbc9085 100644 --- a/htdocs/langs/en_IN/projects.lang +++ b/htdocs/langs/en_IN/projects.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - projects +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time OppStatusPROPO=Quotation diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index ba34d38f36e..b8ce37a0956 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -121,6 +121,7 @@ InvoiceLinesDone=Bound lines of invoices ExpenseReportLines=Lines of expense reports to bind ExpenseReportLinesDone=Bound lines of expense reports IntoAccount=Bind line with the accounting account +TotalForAccount=Total for accounting account Ventilate=Bind @@ -233,8 +234,10 @@ ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unkno ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service +OpeningBalance=Opening balance ShowOpeningBalance=Show opening balance HideOpeningBalance=Hide opening balance +ShowSubtotalByGroup=Show subtotal by group Pcgtype=Group of account PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. @@ -314,12 +317,13 @@ Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog Modelcsv_agiris=Export for Agiris -Modelcsv_LDCompta=Export for LD Compta (v9 & higher) (Test) +Modelcsv_LDCompta=Export for LD Compta (v9) (Test) Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) Modelcsv_openconcerto=Export for OpenConcerto (Test) Modelcsv_configurable=Export CSV Configurable Modelcsv_FEC=Export FEC Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland +Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta ChartofaccountsId=Chart of accounts Id ## Tools - Init accounting account on product / service diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 58e5cecf39d..6c139a0f10c 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -40,6 +40,7 @@ WebUserGroup=Web server user/group NoSessionFound=Your PHP configuration seems to not allow listing of active sessions. The directory used to save sessions (%s) may be protected (for example by OS permissions or by PHP directive open_basedir). DBStoringCharset=Database charset to store data DBSortingCharset=Database charset to sort data +HostCharset=Host charset ClientCharset=Client charset ClientSortingCharset=Client collation WarningModuleNotActive=Module %s must be enabled @@ -427,7 +428,7 @@ ExtrafieldCheckBox=Checkboxes ExtrafieldCheckBoxFromList=Checkboxes from table ExtrafieldLink=Link to an object ComputedFormula=Computed field -ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

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

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

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' +ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

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

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

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' Computedpersistent=Store computed field ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! ExtrafieldParamHelpPassword=Leaving this field blank means this value will be stored without encryption (field must be only hidden with star on screen).
    Set 'auto' to use the default encryption rule to save password into database (then value read will be the hash only, no way to retrieve original value) @@ -1015,7 +1016,7 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. -RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. UseRevenueStamp=Use a tax stamp UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes @@ -1272,6 +1273,7 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) UsersDocModules=Document templates for documents generated from user record GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### @@ -1803,6 +1805,7 @@ TopMenuDisableImages=Hide images in Top menu LeftMenuBackgroundColor=Background color for Left menu BackgroundTableTitleColor=Background color for Table title line BackgroundTableTitleTextColor=Text color for Table title line +BackgroundTableTitleTextlinkColor=Text color for Table title link line BackgroundTableLineOddColor=Background color for odd table lines BackgroundTableLineEvenColor=Background color for even table lines MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) @@ -1936,7 +1939,7 @@ WithoutDolTrackingID=Dolibarr Reference not found in Message ID FormatZip=Zip MainMenuCode=Menu entry code (mainmenu) ECMAutoTree=Show automatic ECM tree -OperationParamDesc=Define values to use for action, or how to extract values. For example:
    objproperty1=SET:abc
    objproperty1=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:abc
    objproperty4=EXTRACT:HEADER:X-Myheaderkey.*[^\s]+(.*)
    options_myextrafield=EXTRACT:SUBJECT:([^\s]*)
    object.objproperty5=EXTRACT:BODY:My company name is\s([^\s]*)

    Use a ; char as separator to extract or set several properties. +OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\s*([^\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\s([^\s]*)

    Use a ; char as separator to extract or set several properties. OpeningHours=Opening hours OpeningHoursDesc=Enter here the regular opening hours of your company. ResourceSetup=Configuration of Resource module @@ -1995,3 +1998,5 @@ PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets +MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" +MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index ab26114d905..9f11d8ecf87 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -209,13 +209,6 @@ NumberOfBillsByMonth=No. of invoices per month AmountOfBills=Amount of invoices AmountOfBillsHT=Amount of invoices (net of tax) AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) -ShowSocialContribution=Show social/fiscal tax -ShowBill=Show invoice -ShowInvoice=Show invoice -ShowInvoiceReplace=Show replacing invoice -ShowInvoiceAvoir=Show credit note -ShowInvoiceDeposit=Show down payment invoice -ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty @@ -233,7 +226,6 @@ setretainedwarranty=Set retained warranty setretainedwarrantyDateLimit=Set retained warranty date limit RetainedWarrantyDateLimit=Retained warranty date limit RetainedWarrantyNeed100Percent=The situation invoice need to be at 100%% progress to be displayed on PDF -ShowPayment=Show payment AlreadyPaid=Already paid AlreadyPaidBack=Already paid back AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) @@ -393,6 +385,7 @@ GeneratedFromTemplate=Generated from template invoice %s WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date ViewAvailableGlobalDiscounts=View available discounts +GroupPaymentsByModOnReports=Group payments by mode on reports # PaymentConditions Statut=Status PaymentConditionShortRECEP=Due Upon Receipt diff --git a/htdocs/langs/en_US/cashdesk.lang b/htdocs/langs/en_US/cashdesk.lang index f2bc989b953..52c2004c1c7 100644 --- a/htdocs/langs/en_US/cashdesk.lang +++ b/htdocs/langs/en_US/cashdesk.lang @@ -95,7 +95,7 @@ PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal TakeposNumpadUsePaymentIcon=Use payment icon on numpad -CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskRefNumberingModules=Numbering module for POS sales CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale @@ -105,4 +105,6 @@ CashReport=Cash report MainPrinterToUse=Main printer to use OrderPrinterToUse=Order printer to use MainTemplateToUse=Main template to use -OrderTemplateToUse=Order template to use \ No newline at end of file +OrderTemplateToUse=Order template to use +BarRestaurant=Bar Restaurant +AutoOrder=Customer auto order \ No newline at end of file diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index f8b3d0354e2..0fad58c9389 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -325,7 +325,8 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowContact=Show contact +ShowCompany=Third Party +ShowContact=Contact-Address ContactsAllShort=All (No filter) ContactType=Contact type ContactForOrders=Order's contact diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 6cd046c5607..8a8c837ac87 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -262,3 +262,5 @@ RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices don RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected +IncludeVarpaysInResults = Include various payments in reports +IncludeLoansInResults = Include loans in reports diff --git a/htdocs/langs/en_US/donations.lang b/htdocs/langs/en_US/donations.lang index a810c61c8f4..de4bdf68f03 100644 --- a/htdocs/langs/en_US/donations.lang +++ b/htdocs/langs/en_US/donations.lang @@ -7,7 +7,6 @@ AddDonation=Create a donation NewDonation=New donation DeleteADonation=Delete a donation ConfirmDeleteADonation=Are you sure you want to delete this donation? -ShowDonation=Show donation PublicDonation=Public donation DonationsArea=Donations area DonationStatusPromiseNotValidated=Draft promise diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang index e65b966ea09..e5936f8246e 100644 --- a/htdocs/langs/en_US/interventions.lang +++ b/htdocs/langs/en_US/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Interventions area DraftFichinter=Draft interventions LastModifiedInterventions=Latest %s modified interventions FichinterToProcess=Interventions to process -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Following-up customer contact -# Modele numérotation PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card PrintProductsOnFichinterDetails=interventions generated from orders UseServicesDurationOnFichinter=Use services duration for interventions generated from orders @@ -53,7 +51,6 @@ InterventionStatistics=Statistics of interventions NbOfinterventions=No. of intervention cards NumberOfInterventionsByMonth=No. of intervention cards by month (date of validation) AmountOfInteventionNotIncludedByDefault=Amount of intervention is not included by default into profit (in most cases, timesheets are used to count time spent). Add option PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT to 1 into home-setup-other to include them. -##### Exports ##### InterId=Intervention id InterRef=Intervention ref. InterDateCreation=Date creation intervention @@ -65,3 +62,5 @@ InterLineId=Line id intervention InterLineDate=Line date intervention InterLineDuration=Line duration intervention InterLineDesc=Line description intervention +RepeatableIntervention=Template of intervention +ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 2082506c405..8c992bf91ca 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -426,6 +426,7 @@ Modules=Modules/Applications Option=Option List=List FullList=Full list +FullConversation=Full conversation Statistics=Statistics OtherStatistics=Other statistics Status=Status @@ -953,12 +954,13 @@ SearchIntoMembers=Members SearchIntoUsers=Users SearchIntoProductsOrServices=Products or services SearchIntoProjects=Projects +SearchIntoMO=Manufacturing Orders SearchIntoTasks=Tasks SearchIntoCustomerInvoices=Customer invoices SearchIntoSupplierInvoices=Vendor invoices SearchIntoCustomerOrders=Sales orders SearchIntoSupplierOrders=Purchase orders -SearchIntoCustomerProposals=Customer proposals +SearchIntoCustomerProposals=Commercial proposals SearchIntoSupplierProposals=Vendor proposals SearchIntoInterventions=Interventions SearchIntoContracts=Contracts @@ -1028,3 +1030,6 @@ YAxis=Y-Axis StatusOfRefMustBe=Status of %s must be %s DeleteFileHeader=Confirm file delete DeleteFileText=Do you really want delete this file? +ShowOtherLanguages=Show other languages +SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language +NotUsedForThisCustomer=Not used for this customer \ No newline at end of file diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index 9dd6e9c9b30..135ac1ae9ec 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -83,8 +83,8 @@ ListOfDictionariesEntries=List of dictionaries entries ListOfPermissionsDefined=List of defined permissions SeeExamples=See examples here EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update). Using a negative value means field is not shown by default on list but can be selected for viewing). It can be an expression, for example:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratostene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

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

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).

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

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

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

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty DisplayOnPdf=Display on PDF IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) diff --git a/htdocs/langs/en_US/mrp.lang b/htdocs/langs/en_US/mrp.lang index 4e653e04409..d3c4d3253c6 100644 --- a/htdocs/langs/en_US/mrp.lang +++ b/htdocs/langs/en_US/mrp.lang @@ -56,11 +56,12 @@ ToConsume=To consume ToProduce=To produce QtyAlreadyConsumed=Qty already consumed QtyAlreadyProduced=Qty already produced +QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) ConsumeOrProduce=Consume or Produce ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. -ForAQuantityOf1=For a quantity to produce of 1 +ForAQuantityOf=For a quantity to produce of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index cdc0e6b3c95..bb42bff3c87 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -255,7 +255,7 @@ ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity -ProjectFollowTasks=Follow tasks +ProjectFollowTasks=Follow tasks or time spent Usage=Usage UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang index aea4e7676e4..9b75a2ff37e 100644 --- a/htdocs/langs/en_US/users.lang +++ b/htdocs/langs/en_US/users.lang @@ -78,6 +78,7 @@ UserWillBeExternalUser=Created user will be an external user (because linked to IdPhoneCaller=Id phone caller NewUserCreated=User %s created NewUserPassword=Password change for %s +NewPasswordValidated=Your new password have been validated and must be used now to login. EventUserModified=User %s modified UserDisabled=User %s disabled UserEnabled=User %s activated diff --git a/htdocs/langs/en_US/website.lang b/htdocs/langs/en_US/website.lang index c3e9870266f..2c555b40c20 100644 --- a/htdocs/langs/en_US/website.lang +++ b/htdocs/langs/en_US/website.lang @@ -57,7 +57,7 @@ NoPageYet=No pages yet YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template SyntaxHelp=Help on specific syntax tips YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor. -YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs.

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

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

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

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

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">

    More examples of HTML or dynamic code available on the wiki documentation
    . +YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

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

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

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

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

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">

    More examples of HTML or dynamic code available on the wiki documentation
    . ClonePage=Clone page/container CloneSite=Clone site SiteAdded=Website added @@ -77,7 +77,7 @@ BlogPost=Blog post WebsiteAccount=Website account WebsiteAccounts=Website accounts AddWebsiteAccount=Create web site account -BackToListOfThirdParty=Back to list for Third Party +BackToListForThirdParty=Back to list for the third-party DisableSiteFirst=Disable website first MyContainerTitle=My web site title AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) diff --git a/htdocs/langs/es_AR/main.lang b/htdocs/langs/es_AR/main.lang index 50e919e9565..a48f7399746 100644 --- a/htdocs/langs/es_AR/main.lang +++ b/htdocs/langs/es_AR/main.lang @@ -19,23 +19,578 @@ 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=Conexión de base de datos +NoTemplateDefined=No hay plantilla para este tipo de email +AvailableVariables=Variables disponibles de substitución +EmptySearchString=Ingresar una cadena de búsqueda no vacía +NoRecordFound=Sin registros +NoRecordDeleted=Sin registros eliminados +NotEnoughDataYet=Sin datos suficientes +NoError=Sin error +ErrorFieldRequired=El campo '%s' es requerido +ErrorFieldFormat=El campo '%s' tiene un valor erroneo +ErrorFileDoesNotExists=El campo %s no existe +ErrorFailedToOpenFile=Fallo abrir archivo %s +ErrorCanNotCreateDir=No se puede crear la carpeta %s +ErrorCanNotReadDir=No se puede leer la carpeta %s +ErrorConstantNotDefined=El parámetro %s no está definido +ErrorSQL=Error SQL +ErrorLogoFileNotFound=El archivo del logo '%s' no fue encontrado +ErrorGoToGlobalSetup=Ir a configuración de 'Empresa/Organización' para solucionar esto +ErrorGoToModuleSetup=Ir al Módulo de configuración para solucionar esto +ErrorFailedToSendMail=Falló el envío del email (remitente=%s, receptor=%s) +ErrorFileNotUploaded=El archivo no fue cargado. Controle que el tamaño no exceda el máximo permitido, que haya espacio disponible en el disco y que no haya ya un archivo con el mismo nombre en la carpeta. +ErrorInternalErrorDetected=Se detectó un error +ErrorWrongHostParameter=Parámetros de host equivocados +ErrorYourCountryIsNotDefined=Su país no está definido. Vaya a Inicio-Configuración-Editar e ingrese el formulario nuevamente. +ErrorRecordIsUsedByChild=Falló la eliminación de este registro. Este registro es usado por al menos un registro hijo. +ErrorWrongValue=Valor erróneo +ErrorWrongValueForParameterX=Valor erróneo para el parámetro %s +ErrorNoRequestInError=Ningún pedido en error +ErrorServiceUnavailableTryLater=El servicio no está disponible al momento. Intente nuevamente luego. +ErrorDuplicateField=Valor duplicado en un campo único. +ErrorSomeErrorWereFoundRollbackIsDone=Se encontró algunos errores. Los cambios fueron echados para atrás. +ErrorConfigParameterNotDefined=El parámetro %s no está definido en el archivo de configuración de Dolibarr conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Falló la busqueda del usuario %s en la base de datos de Dolibarr. +ErrorNoVATRateDefinedForSellerCountry=Error, no se ha definido tasa de IVA para el país '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no se ha definido tasa de impuestos sociales/fiscales para el país '%s'. +ErrorFailedToSaveFile=Error, no se pudo guardar el archivo. +ErrorCannotAddThisParentWarehouse=Ud. está intentando agregar un depósito padre el cuál ya es hijo de un depósito existente +MaxNbOfRecordPerPage=Máx. número de registros por página +NotAuthorized=Ud. no está autorizado para hacer eso. +SelectDate=Elegir una fecha +SeeHere=Ver aquí +ClickHere=Hacer click aquí +BackgroundColorByDefault=Color del fondo por defecto +FileRenamed=El archivo fue renombrado con éxito. +FileGenerated=El archivo fue generado con éxito. +FileSaved=El archivo fue guardado con éxito. +FileUploaded=El archivo fue cargado con éxito +FileTransferComplete=Archivo(s) cargado con éxito +FilesDeleted=Archivo(s) eliminados con éxito +FileWasNotUploaded=Se eligió un archivo para adjuntar pero aún no fue cargado. Haga click en "Adjuntar archivo" para eso. +NbOfEntries=No. de entradas +GoToWikiHelpPage=Leer ayuda en línea (Se necesita acceso a Internet) +GoToHelpPage=Leer ayuda +LevelOfFeature=Nivel de características +NotDefined=Sin definir +DolibarrInHttpAuthenticationSoPasswordUseless=El modo de autenticación en Dolibarr se configuro a %s en el archivo de configuración conf.php.
    Esto significa que la base de datos de las contraseñas es externa a Dolibarr, por lo que el cambio de este campo puede no tener efecto. +Undefined=Indefinido +PasswordForgotten=¿Olvidó la contraseña?' +NoAccount=¿No tiene cuenta? +SeeAbove=Ver arriba +LastConnexion=Último acceso +PreviousConnexion=Acceso previo +ConnectedOnMultiCompany=Conectado en el entorno +AuthenticationMode=Modo de autenticación +RequestedUrl=URL requerido +DatabaseTypeManager=Administrador de tipo de base de datos +RequestLastAccessInError=Error en el último requerimiento de acceso a la base de datos +ReturnCodeLastAccessInError=Código de respuesta para el último error al requerir acceso a la base de datos +InformationLastAccessInError=Información del último error al requerir acceso a la base de datos +YouCanSetOptionDolibarrMainProdToZero=Puede leer el archivo log o establecer la opción $dolibarr_main_prod a 0 en su archivo de configuración para obtener más información. +InformationToHelpDiagnose=Esta información puede ser útil para propósitos de diagnóstico (puede poner la opción $dolibarr_main_prod a '1' para sacar dichas noticias) +TechnicalID=ID técnico +LineID=ID línea +PrecisionUnitIsLimitedToXDecimals=Dolibarr fue configurada para limitar la precisión en el precio de la unidad a %s decimales. +DoTest=Prueba +ToFilter=Filtro +WarningYouHaveAtLeastOneTaskLate=Atención, usted tiene al menos un elemento que a excedido el tiempo de tolerancia. +yes=si All=Todos +MediaBrowser=Explorador de medios +Under=bajo +Period=Período +PeriodEndDate=Fecha final para el período +SelectedPeriod=Período elegido +PreviousPeriod=Período previo +NotClosed=Sin cerrar +Enabled=Habilitado +Enable=Habilitar +Disable=Deshabilitar +Disabled=Cancelado +Add=Agregar +AddLink=Agregar enlace +RemoveLink=Quitar enlace +AddToDraft=Agregar a borrador +Update=Actualizar +CloseBox=Quitar widget de su tablero +ConfirmSendCardByMail=¿Desea Ud, enviar esta tarjeta por email a %s? Delete=Borrar +Remove=Quitar +Cancel=Cancelar +Validate=Confirmar +ValidateAndApprove=Confirmar y Aprobar +ToValidate=Para confirmar +NotValidated=Sin confirmar +Save=Guardar +SaveAs=Guarda Como +TestConnection=Probar conexión +ToClone=Clonar +ConfirmCloneAsk=¿Estás seguro que quieres clonar el objeto %s? +ConfirmClone=Elija datos que quiere clonar: +NoCloneOptionsSpecified=Datos para clonar sin definir +Run=Correr +Show=Mostrar +Hide=Esconder +ShowCardHere=Mostrar tarjeta +SearchOf=Buscar +Valid=Valida +ReOpen=Re-abrir +Upload=Cargar +ResizeOrCrop=Redimensionar o Recortar +Recenter=Recentrar Groups=Los grupos +NoUserGroupDefined=No hay grupo de usuario definido +PasswordRetype=Repetir su contraseña +NoteSomeFeaturesAreDisabled=Notar que muchas características/módulos están des habilitados en esta demostración. +NameSlashCompany=Nombre/Compañía +PersonalValue=Valor personal +CurrentValue=Valor corriente +MultiLanguage=Multi-idioma +DateOfLine=Fecha de línea +DurationOfLine=Duración de línea +Model=Plantilla de doc +DefaultModel=Plantilla predeterminada para doc +Action=Evento +About=De nosotros +AmountByMonth=Monto por mes +Limit=Limite +Limits=Limites +Logout=Salir +NoLogoutProcessWithAuthMode=Sin características de desconexión con el modo de autenticación %s Connection=Iniciar Sesión Setup=Preparar +Previous=Previos +Cards=Tarjeta +Card=Tarjeta +HourStart=Hora de comienzo DateCreation=Fecha de Creación +DateModification=Fecha modificación +DateLastModification=Fecha última modificación +DateDue=Fecha vencimiento +DateValue=Fecha del valor +DateValueShort=Fecha del valor +DateOperation=Fecha de operación +DateOperationShort=Fecha Oper. +DateRequest=Fecha requerimiento +DateProcess=Fecha procesado +DateBuild=Fecha construcción del informe +DatePayment=Fecha de pago +DateApprove=Fecha aprovación +DateApprove2=Fecha aprobación (segunda aprobación) +RegistrationDate=Fecha de registro +UserCreation=Usuario de creación +UserModification=Usuario de modificación +UserValidation=Usuario de confirmación +UserCreationShort=Crear usuario +UserModificationShort=Modif. usuario +UserValidationShort=Confir. usuario +HourShort=Hr Rate=Tarifa +CurrencyRate=Tipo de cambio +UseLocalTax=Incluido impuesto +UserAuthor=Usuario de creación +UserModif=Usuario de última actualización +DefaultValue=Valor predeterminado +DefaultValues=Valores/filtros/ordenación predeterminados +UnitPriceHT=Precio unitario (neto) +UnitPriceHTCurrency=Precio unitario (neto) (moneda) +UnitPriceTTC=Precio unitario +PriceUHT=P.U. (neto) +PriceUHTCurrency=P.U. (moneda) +PriceUTTC=P.U. (con imp.) +Amount=Monto +AmountInvoice=Monto de factura +AmountInvoiced=Monto facturado +AmountInvoicedHT=Monto facturado (con imp.) +AmountInvoicedTTC=Monto facturado (neto) +AmountPayment=Monto pagado +AmountHTShort=Monto (neto) +AmountTTCShort=Monto (con imp.) +AmountHT=Monto (neto) +AmountTTC=Monto (con imp.) +AmountVAT=Monto impuesto +MulticurrencyAlreadyPaid=Ya pagado, moneda original +MulticurrencyRemainderToPay=Faltante a pagar, moneda original MulticurrencyPaymentAmount=Monto del pago, moneda original +MulticurrencyAmountHT=Monto (neto), moneda original +MulticurrencyAmountTTC=Monto (inc. imp.), moneda original +MulticurrencyAmountVAT=Monto del impuesto, moneda original +AmountLT1=Monto del impuesto 2 +AmountLT2=Monto del impuesto 3 +AmountLT1ES=Monto RE +AmountLT2ES=Monto IRPF +AmountTotal=Monto total +AmountAverage=Monto promedio +PriceQtyMinHT=Precio por cant. mínimo (neto) +PriceQtyMinHTCurrency=Precio por cant. mínimo (neto) (moneda) +TotalHTShort=Total (neto) +TotalHT100Short=Total 100%% (neto) +TotalHTShortCurrency=Total (neto en moneda) +TotalTTCShort=Total (incl. imp.) +TotalHT=Total (neto) +TotalHTforthispage=Total (neto) para esta página +Totalforthispage=Total para esta página +TotalTTC=Total (incl. imp.) +TotalTTCToYourCredit=Total (incl. impuesto) para su crédito +TotalVAT=Impuesto total +TotalLT1=Impuesto total 2 +TotalLT2=Total impuesto 3 +HT=Neto +TTC=Con imp. +INCVATONLY=Inc. IVA +INCT=Inc. todos los impuestos +VAT=Impuesto de ventas +VATs=Impuesto ventas +LT1=Impuesto ventas 2 +LT1Type=Impuesto ventas tipo 2 +LT2=Impuesto ventas 3 +LT2Type=Impuesto ventas tipo 3 +LT2IN=SGSR +LT1GC=Ctvs. adicionales +VATRate=Tasa Impuesto +VATCode=Código Tasa Impuesto +VATNPR=Tas impuesto NPR +DefaultTaxRate=Tasa de impuesto predeterminada +Average=Promedio +RemainToPay=Remanente a pagar +Module=Módulo/Aplicación +Modules=Módulos/Aplicaciones +Option=Opciones List=Lista +FullList=Toda la lista RefSupplier=Ref. Proveedor +CommercialProposalsShort=Propuesta comercial +Comment=Comentar +ActionsToDo=Eventos a cumplir +ActionsToDoShort=Para hacer +ActionsDoneShort=Hecho +ActionNotApplicable=No aplicables +ActionRunningNotStarted=Para comenzar +LatestLinkedEvents=Últimos eventos %s enlazados CompanyFoundation=Empresa / Organización +Accountant=Contador +ContactsForCompany=Contactos para esta tercera parte +ContactsAddressesForCompany=Contactos/direcciones para esta tercer parte +AddressesForCompany=Dirección para esta tercera parte +ActionsOnCompany=Eventos para esta tercera parte +ActionsOnContact=Eventos para este contacto/dirección +ActionsOnContract=Evento para este contacto +ActionsOnProduct=Eventos respecto a este producto +NActionsLate=%s tarde +ToDo=Para hacer +Completed=Completado +RequestAlreadyDone=Requerimiento ya guardado +FilterOnInto=Criterio de búsqueda '%s' en los campos %s +RemoveFilter=Quitar filtro +ChartGenerated=Gráfico generado +ChartNotGenerated=El gráfico no se generó +GeneratedOn=Construido en %s +Generate=Generado +DolibarrStateBoard=Estadísticas de Base de Datos +DolibarrWorkBoard=Items Abiertos +NoOpenedElementToProcess=No hay elementos abiertos para procesar +NotYetAvailable=Todavía no disponible +Categories=Etiquetas/categorías +to=para +To=para +Qty=Ctd +ChangedBy=Cambiado por +ResultKo=Falla +Reporting=Informando +Reportings=Informando +StatusInterInvoiced=Facturado Opened=Abierto +ClosedAll=Cerrado (todo) +ByCompanies=Por terceros +ByUsers=Por usuarios +Rejects=Rechazos +NextStep=Próximo paso +None=Ninguna +Late=Tarde +LateDesc=Un item se define como Demorado en relación\na la configuración del sistema en el menú\nInicio - Configuraciones - Alertas. +NoItemLate=No hay último item +Photo=Fotografía +Photos=Fotografías +AddPhoto=Agregar foto +DeletePicture=Eliminar foto +ConfirmDeletePicture=¿Confirma eliminar foto? Login=Iniciar Sesión +LoginEmail=Ingreso (email) +LoginOrEmail=Usuario o email +CurrentLogin=Usuario actual +EnterLoginDetail=Ingresar datos de usuario actual +January=Enero +February=Febrero +March=Marzo +April=Abril +May=Mayo +June=Junio +July=Julio +August=Agosto +September=Septiembre +October=Octubre +November=Noviembre +Month01=Enero +Month02=Febrero +Month03=Marzo +Month04=Abril +Month05=Mayo +Month06=Junio +Month07=Julio +Month08=Agosto +Month09=Septiembre +Month10=Octubre +Month11=Noviembre +Month12=Diciembre +MonthShort01=Ene +MonthShort04=Abr +MonthShort08=Ago +MonthShort12=Dic +MonthVeryShort02=V +MonthVeryShort03=Ma +MonthVeryShort05=Ma +AttachedFiles=Adjuntar archivos y documentos +JoinMainDoc=Unir documento principal +ReportName=Nombre de informe +ReportPeriod=Período del informe +Fill=Llenar +Reset=Resetear +NotAllowed=No permitido +ReadPermissionNotAllowed=Leer permisos no permitidos +AmountInCurrency=Monto en la moneda %s +FindBug=Informar un error +NbOfThirdParties=Número de terceras partes +NbOfLines=Número de líneas +NbOfObjectReferers=Número de items relacionados +DateFromTo=Desde %s a %s +DateFrom=Desde %s +Check=Cheque +Uncheck=Sin marcar +Internals=Interno +Externals=Externo +Warning=Atención +Warnings=Alarmas +BuildDoc=Construir Doc +Entity=Entorno +CustomerPreview=Vista previa cliente +SupplierPreview=Vista previa proveedor +ShowCustomerPreview=Mostrar vista previa cliente +ShowSupplierPreview=Mostrar vista previa proveedor +Currency=Moneda +InfoAdmin=Información para administradores +Undo=Deshacer +UndoExpandAll=Deshacer expandir +Reason=Motivo +FeatureNotYetSupported=Característica todavía sin soportar +Response=Responder +SendByMail=Enviar por email +MailSentBy=Email enviado por +TextUsedInTheMessageBody=Cuerpo del mensaje +SendMail=Enviar email +NoEMail=Sin email +NoMobilePhone=Sin teléfono Mobil +FollowingConstantsWillBeSubstituted=Las siguientes constantes serán reemplazadas\ncon los correspondientes valores. +BackToList=Volver a la lista +GoBack=Retroceder +CanBeModifiedIfOk=Puede modificarse si es válida +CanBeModifiedIfKo=Puede modificarse si no es válida +RecordCreatedSuccessfully=Registro creado con éxito +RecordsModified=%s registro(s) modificados +RecordsDeleted=%s registro(s) eliminados +RecordsGenerated=%s registro(s) generados +AutomaticCode=Código automático +FeatureDisabled=Característica deshabilitada +MoveBox=Mover el widget +Offered=Ofertado +NotEnoughPermissions=Ud. no tiene permiso para esta acción +SessionName=Nombre de sesión +Receive=Recibir +CompleteOrNoMoreReceptionExpected=Completo o no se espera más +ExpectedValue=Valor Esperado +YouCanChangeValuesForThisListFromDictionarySetup=Ud. puede cambiar los valores de esta lista\ndesde menu Configuración - Diccionarios +YouCanChangeValuesForThisListFrom=Ud. puede cambiar los valores de esta lista\ndesde menú %s +YouCanSetDefaultValueInModuleSetup=Ud. puede establecer el valor predeterminado cuando se\ncrea un nuevo registro en la configuración del módulo +Documents=Archivos enlazados +UploadDisabled=Carga deshabilitada +ThisLimitIsDefinedInSetup=Límite Dolibarr (Menú inicio-configuración-seguridad):\n%s KB, Límite PHP: %s Kb +NoFileFound=Ningún documento guardado en esta carpeta +CurrentMenuManager=Administrador de menú actual +Layout=Diseño +DisabledModules=Deshabilitar módulos +DateOfSignature=Fecha de firma +HidePassword=Mostrar comándos con contraseña escondida +UnHidePassword=Mostrar comando real con contraseña visible +RootOfMedias=Carpeta raíz de medios públicos (/medios) +AddNewLine=Agregar nueva línea +AddFile=Agregar archivo +FreeZone=No hay producto/servicio predefinido +FreeLineOfType=Item libre del tipo: +CloneMainAttributes=Clonar objeto con principales atributos +PDFMerge=Unir PDF +Merge=Unir +DocumentModelStandardPDF=Plantilla de PDF standard +PrintContentArea=Mostrar area principal del contenido a imprimir +MenuManager=Administrador de menú +WarningYouAreInMaintenanceMode=Atención, esta en modo mantenimiento:\nsolo usuarios %s tienen permitido\nusar la aplicación en este modo. +CoreErrorTitle=Error de sistema +CoreErrorMessage=Perdón, a ocurrido un error. Haga contacto\ncon su administrador de sistema para chequear\nlos logs o deshabilitar $dolibarr_main_prod=1 para\nobtener más información. +ValidatePayment=Confirmar pago +FieldsWithAreMandatory=Los campos con %s son mandatorios +FieldsWithIsForPublic=Los campos con %s son mostrados en la lista pública de miembros. Si no desea esto, quite el tilde en la casilla "público". +AccordingToGeoIPDatabase=(de acuerdo a la conversión GeoIP) +RequiredField=Campo requerido +ToTest=Prueba +ValidateBefore=El item debe ser validado antes de usar esta característica +TotalizableDesc=El campo se puede totalizar en la lista +Private=Contacot Privado +Hidden=Escondido +Source=Fuente +IM=Mensaje instantáneo +NewAttribute=Nuevo atributo +AttributeCode=Código de atributo +URLPhoto=URL de la foto/logo +SetLinkToAnotherThirdParty=Enlazar a otra tercera parte +LinkToProposal=Enlazar a propuesta +LinkToOrder=Enlazar a orden +LinkToSupplierOrder=Enlazar a orden de compra +LinkToSupplierProposal=Enlazar a propuesta de proveedor +LinkToContract=Enlazar a contacto +ClickToEdit=Hacer click para editar +ClickToRefresh=Hacer click para refrescar +EditHTMLSource=Editar Fuente HTML +ObjectDeleted=El objeto %s se eliminó +ByCountry=Por país +ByTown=Por ciudad +BySalesRepresentative=Por representante de ventas +LinkedToSpecificUsers=Enlazado a un contacto particular de usuario +NoResults=Sin resultados +AdminTools=Herramientas de Admin +SystemTools=Herramientas de sistema +ModulesSystemTools=Herramientas de módulos +NoPhotoYet=No hay fotos disponibles todavía +Dashboard=Escritorio +MyDashboard=Mi Escritorio +from=desde +toward=en dirección a +SelectTargetUser=Seleccione usuario/empleado al que apuntar +HelpCopyToClipboard=Use Ctrl+C para copiar al clipboard +SaveUploadedFileWithMask=Guardar archivo en el servidor con el nombre "%s" (de lo contrario "%s") +OriginFileName=Nombre de archivo original +SetDemandReason=Establecer fuente +SetBankAccount=Definir Cuenta Bancaria +AccountCurrency=Moneda de la cuenta +PublicUrl=URL Público +AddBox=Agregar casilla +SelectElementAndClick=Seleccionar un elemento y hacer click en %s +ShowTransaction=Mostrar entrada en cuenta bancaria +ShowContract=Mostrar contacto +GoIntoSetupToChangeLogo=Ir a Inicio - Configuración - Compañía para cambiar el logo o ir a Inicio - Configuración - Mostrar para esconderlo. +Denied=Negado +ListOfTemplates=Lista de plantillas +Gender=Género +ViewList=Vista de lista +Mandatory=Mandatorio +Sincerely=Sinceramente +ConfirmDeleteObject=¿Está seguro que quiere eliminar este objeto? +DeleteLine=Eliminar línea +ConfirmDeleteLine=¿Está seguro que quiere eliminar esta línea? +NoPDFAvailableForDocGenAmongChecked=No hay disponible ningún PDF para la generación del documento entre los registros chequeados +TooManyRecordForMassAction=Se eligió demasiados documentos para una acción en masa. La acción tiene una restricción de %s registros. +NoRecordSelected=No se eligió registros +MassFilesArea=Área para archivos construidos desde acciones en masa +ShowTempMassFilesArea=Mostrar área de archivos construidos por acción en masa +ConfirmMassDeletion=Confirmar Eliminar en Masa +ConfirmMassDeletionQuestion=¿Esta seguro que quiere eliminar %s registro(s) seleccionado(s)? +RelatedObjects=Objetos Relacionados +ClassifyBilled=Clasificar como facturado +ClassifyUnbilled=Clasificar como sin facturar +FrontOffice=Oficina frontal +BackOffice=Oficina treasera +Exports=Exporta +ExportFilteredList=Exportar lista filtrada +ExportList=Exportar lista +ExportOptions=Exportar Opciones +ExportOfPiecesAlreadyExportedIsEnable=Exportar piezas que ya fueron exportadas está habilitado +ExportOfPiecesAlreadyExportedIsDisable=Exportar piezas que ya fueron exportadas está deshabilitado +AllExportedMovementsWereRecordedAsExported=Todos los movimientos de exportaciones fueron registrados como exportados +NotAllExportedMovementsCouldBeRecordedAsExported=No todos los movimientos de exportados pueden registrarse como exportados +Miscellaneous=Miscelanias +GroupBy=Agrupar por... +RemoveString=Quitar cadena '%s' +SomeTranslationAreUncomplete=Alguno de los idiomas ofertados pueden estar traducidos parcialmente o pueden contener errores. Por favor ayude a corregir su idioma registrándose en https://transifex.com/projects/p/dolibarr/ para agregar sus mejoras. +DirectDownloadLink=Enlace de descarga directa (público/externo) +DirectDownloadInternalLink=Enlace de descarga directa (necesita estar logeado y tener permisos) +DownloadDocument=Descargar documento +ActualizeCurrency=Actualizar tipo de cambio +ModuleBuilder=Constructor de Módulos y Aplicaciones +SetMultiCurrencyCode=Fijar moneda +BulkActions=Acciones a granel +ClickToShowHelp=Haga click para mostrar la herramienta de ayuda +WebSiteAccounts=Cuentas de sitio web +ExpenseReport=Informe de gasto ExpenseReports=Reporte de gastos +HRAndBank=HR y Banco +TitleSetToDraft=Volver a borrador +ConfirmSetToDraft=¿Está seguro que quiere volver al estado Borrador? +ImportId=Importar id +EMailTemplates=Plantillas de emails +FileNotShared=Archivo no compartido con público externo +Project=Projecto +Projects=Projectos +LineNb=Línea no. +IncotermLabel=Incotérminos +TabLetteringCustomer=Escritos de clientes +TabLetteringSupplier=Escritos de proveedores +TuesdayMin=Mar +WednesdayMin=Mie +ShortTuesday=Ma +SelectMailModel=Elegir plantilla de email +SetRef=Fijar ref +Select2ResultFoundUseArrows=Se encontró algunos resultados. Use las flechas para elegir. +Select2NotFound=No se encontró resultados +Select2Enter=Ingresar +Select2MoreCharacter=o un carácter más +Select2MoreCharactersMore= Buscar sintaxis:
    | O (alb)
    * Cualquier carácter (a*b)
    ^ Comenzar con (^ab)
    $ Terminado con (ab$)
    +SearchIntoProjects=Projectos SearchIntoCustomerInvoices=Facturas de clientes SearchIntoSupplierInvoices=Facturas de proveedores +SearchIntoCustomerOrders=Ordenes de Venta SearchIntoSupplierOrders=Ordenes de compra SearchIntoCustomerProposals=Propuestas de clientes +SearchIntoSupplierProposals=Propuestas de proveedores SearchIntoContracts=Los contratos SearchIntoExpenseReports=Reporte de gastos +SearchIntoLeaves=Abandonar +CommentAdded=Comentario agregado +CommentDeleted=Comentario eliminado +Everybody=Todos +Quarterly=Cuatrimestral +LocalAndRemote=Local y Remoto +KeyboardShortcut=Acceso directo de teclado +AssignedTo=Asignado a +ConfirmMassDraftDeletion=Confirmar eliminación borradores en masa +FileSharedViaALink=Archivo compartido vía enlace +SelectAThirdPartyFirst=Elegir primero una tercera persona... +YouAreCurrentlyInSandboxMode=Ud. esta en este momento en el modo %s "sandbox" +ShowMoreInfos=Mostrar Más Info +NoFilesUploadedYet=Por favor cargue un documento primero +SeePrivateNote=Vea nota privada +PaymentInformation=Información de pago +ToClose=Para cerrar +ToProcess=Para procesar +ToApprove=Para aprobar +GlobalOpenedElemView=Visión global +NoArticlesFoundForTheKeyword=No se encontró artículo para la clave '%s' +NoArticlesFoundForTheCategory=Ningún artículo para la categoría +ToAcceptRefuse=Aceptar | rechazar +ContactDefault_agenda=Evento +ContactDefault_commande=Orden +ContactDefault_invoice_supplier=Factura de Proveedor +ContactDefault_order_supplier=Orden de Compra +ContactDefault_project=Projecto +ContactDefault_propal=Propuesta +ContactDefault_supplier_proposal=Propuesta de proveedor +ContactAddedAutomatically=Contacto agregado desde roles de terceros +CustomReports=Informes de clientes diff --git a/htdocs/langs/es_CL/admin.lang b/htdocs/langs/es_CL/admin.lang index 02bd9beb325..00418e48cfe 100644 --- a/htdocs/langs/es_CL/admin.lang +++ b/htdocs/langs/es_CL/admin.lang @@ -147,7 +147,6 @@ FeatureDisabledInDemo=Característica deshabilitada en demostración FeatureAvailableOnlyOnStable=Característica solo disponible en versiones estables oficiales BoxesDesc=Los widgets son componentes que muestran información que puede agregar para personalizar algunas páginas. Puede elegir entre mostrar el widget o no seleccionando la página de destino y haciendo clic en 'Activar', o haciendo clic en la papelera para deshabilitarla. OnlyActiveElementsAreShown=Solo se muestran los elementos de los módulos habilitados . -ModulesDesc=Los módulos / aplicaciones determinan qué funciones están disponibles en el software. Algunos módulos requieren que se otorguen permisos a los usuarios después de activar el módulo. Haga clic en el botón de encendido / apagado (al final de la línea del módulo) para habilitar / deshabilitar un módulo / aplicación. ModulesDeployDesc=Si los permisos en su sistema de archivos lo permiten, puede utilizar esta herramienta para implementar un módulo externo. El módulo será visible en la pestaña %s . ModulesMarketPlaces=Buscar aplicaciones / módulos externos ModulesDevelopYourModule=Desarrolla tu propia aplicación / módulos @@ -333,7 +332,6 @@ LinkToTest=Enlace de clic generado para el usuario %s(haga clic KeepEmptyToUseDefault=Manténgalo vacío para usar el valor predeterminado DefaultLink=Enlace predeterminado ValueOverwrittenByUserSetup=Advertencia, este valor puede ser sobrescrito por la configuración específica del usuario (cada usuario puede establecer su propia URL de clicktodial) -ExternalModule=Módulo externo: instalado en el directorio %s BarcodeInitForthird-parties=Inicio masivo de código de barras para terceros. BarcodeInitForProductsOrServices=Inicialización o reinicio masivo del código de barras para productos o servicios CurrentlyNWithoutBarCode=Actualmente, tiene %s registros en %s %s sin código de barras definido. @@ -701,7 +699,6 @@ DictionaryCompanyType=Tipos de terceros DictionaryCompanyJuridicalType=Entidades legales de terceros DictionaryProspectLevel=Potencial de prospecto DictionaryCanton=Estados / Provincias -DictionaryCivility=Título de civilidad DictionarySocialContributions=Tipos de impuestos sociales o fiscales. DictionaryVAT=Tipos de IVA o tasas de impuestos a las ventas DictionaryRevenueStamp=Cantidad de estampillas fiscales @@ -810,8 +807,6 @@ Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Depósito de cheques no hecho Delays_MAIN_DELAY_EXPENSEREPORTS=Informe de gastos para aprobar SetupDescription1=Antes de comenzar a utilizar Dolibarr, se deben definir algunos parámetros iniciales y habilitar / configurar los módulos. SetupDescription2=Las siguientes dos secciones son obligatorias (las dos primeras entradas en el menú de configuración): -SetupDescription3=%s -> %s
    Parámetros básicos utilizados para personalizar el comportamiento predeterminado de su aplicación (por ejemplo, para funciones relacionadas con el país). -SetupDescription4=%s -> %s
    Este software es un conjunto de muchos módulos / aplicaciones, todos más o menos independientes. Los módulos relevantes a sus necesidades deben estar habilitados y configurados. Los nuevos elementos / opciones se agregan a los menús con la activación de un módulo. SetupDescription5=Otras entradas del menú de configuración manejan parámetros opcionales. LogEvents=Eventos de auditoría de seguridad InfoDolibarr=Sobre Dolibarr @@ -825,7 +820,6 @@ ListOfSecurityEvents=Lista de eventos de seguridad de Dolibarr LogEventDesc=Habilitar el registro para eventos de seguridad específicos. Administradores el registro a través del menú %s - %s . Advertencia, esta característica puede generar una gran cantidad de datos en la base de datos. AreaForAdminOnly=Los parámetros de configuración solo pueden modificarse por usuarios administradores. SystemInfoDesc=La información del sistema es información técnica miscelánea que obtienes en modo solo lectura y visible solo para los administradores. -CompanyFundationDesc=Edite la información de la empresa / entidad. Click en el botón "%s" en el fondo de la página. AccountantDesc=Si tiene un contador / contador externo, puede editar aquí su información. AvailableModules=Aplicación / módulos disponibles ToActivateModule=Para activar los módulos, vaya al Área de configuración (Inicio-> Configuración-> Módulos). @@ -955,7 +949,6 @@ BillsPDFModules=Modelos de documentos de factura BillsPDFModulesAccordindToInvoiceType=Documentos de facturas de modelos según tipo de factura. PaymentsPDFModules=Modelos de documentos de pago ForceInvoiceDate=Forzar fecha de factura a fecha de validación -SuggestedPaymentModesIfNotDefinedInInvoice=Modo de pago sugerido en la factura por defecto si no está definido para la factura SuggestPaymentByRIBOnAccount=Sugerir pago por retiro en cuenta SuggestPaymentByChequeToAddress=Sugerir pago por cheque a FreeLegalTextOnInvoices=Texto libre en las facturas @@ -966,7 +959,6 @@ SupplierPaymentSetup=Configuración de pagos de proveedores PropalSetup=Configuración del módulo Cotizaciones ProposalsNumberingModules=Módulos de numeración de cotizaciones ProposalsPDFModules=Modelos de documentos de cotizaciones -SuggestedPaymentModesIfNotDefinedInProposal=Modo de pago sugerido en la propuesta por defecto si no está definido para la propuesta FreeLegalTextOnProposal=Texto libre en cotizaciones WatermarkOnDraftProposal=Marca de agua en cotizaciones borrador (en caso de estar vacío) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Preguntar por el destino de la cuenta bancaria diff --git a/htdocs/langs/es_CL/bills.lang b/htdocs/langs/es_CL/bills.lang index 002ed8b69e6..aeb6b873638 100644 --- a/htdocs/langs/es_CL/bills.lang +++ b/htdocs/langs/es_CL/bills.lang @@ -43,8 +43,8 @@ CustomersInvoices=Facturas de clientes SupplierInvoice=Factura del proveedor SupplierBill=Factura del proveedor SupplierBills=facturas de proveedores -PaymentBack=Pago de vuelta -CustomerInvoicePaymentBack=Pago de vuelta +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund paymentInInvoiceCurrency=en la moneda de las facturas DeletePayment=Eliminar pago ConfirmDeletePayment=¿Seguro que quieres eliminar este pago? @@ -383,11 +383,10 @@ ToMakePayment=Paga ToMakePaymentBack=Pagar ListOfYourUnpaidInvoices=Lista de facturas impagas NoteListOfYourUnpaidInvoices=Nota: Esta lista contiene solo facturas para terceros a los que está vinculado como representante de ventas. -RevenueStamp=Sello de ingresos YouMustCreateInvoiceFromThird=Esta opción solo está disponible cuando se crea una factura desde la pestaña "Cliente" de un tercero YouMustCreateInvoiceFromSupplierThird=Esta opción solo está disponible cuando se crea una factura desde la pestaña "Proveedor" de un tercero YouMustCreateStandardInvoiceFirstDesc=Primero debe crear una factura estándar y convertirla en "plantilla" para crear una nueva factura de plantilla -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Factura PDF plantilla de esponja. Una plantilla de factura completa. PDFCrevetteDescription=Plantilla de factura en PDF Crevette. Una plantilla de factura completa para facturas de situación TerreNumRefModelDesc1=Número de devolución con formato %saaam-nnnn para facturas estándar y %saaam-nnnn para notas de crédito donde yy es año, mm es mes y nnnn es una secuencia sin interrupción y sin retorno a 0 diff --git a/htdocs/langs/es_CL/compta.lang b/htdocs/langs/es_CL/compta.lang index 9fb429628b9..4a4fb6fe85e 100644 --- a/htdocs/langs/es_CL/compta.lang +++ b/htdocs/langs/es_CL/compta.lang @@ -134,9 +134,7 @@ SeeReportInInputOutputMode=Consulte %sanálisis de pagos%s para obtener un cálc SeeReportInDueDebtMode=Consulte %sanálisis de facturas %s para un cálculo basado en facturas registradas conocidas, incluso si aún no se contabilizaron en Libro mayor. SeeReportInBookkeepingMode=Consulte %sInforme de facturación%s para realizar un cálculo en Tabla Libro mayor contable RulesAmountWithTaxIncluded=- Las cantidades que se muestran son con todos los impuestos incluidos -RulesResultDue=- Incluye facturas pendientes, gastos, IVA, donaciones ya sean pagadas o no. También incluye salarios pagados.
    - Se basa en la fecha de validación de facturas e IVA y en la fecha de vencimiento de los gastos. Para los salarios definidos con el módulo Salario, se usa la fecha de valor del pago. RulesResultInOut=- Incluye los pagos reales realizados en facturas, gastos, IVA y salarios.
    - Se basa en las fechas de pago de las facturas, gastos, IVA y salarios. La fecha de donación para la donación. -RulesCADue=- Incluye las facturas debidas del cliente, ya sean pagadas o no.
    - Se basa en la fecha de validación de estas facturas.
    RulesCAIn=- Incluye todos los pagos efectivos de las facturas recibidas de los clientes.
    - Se basa en la fecha de pago de estas facturas.
    RulesCATotalSaleJournal=Incluye todas las líneas de crédito del diario Sale. RulesAmountOnInOutBookkeepingRecord=Incluye registro en su Libro mayor con cuentas de contabilidad que tiene el grupo "GASTOS" o "INGRESOS" diff --git a/htdocs/langs/es_CL/other.lang b/htdocs/langs/es_CL/other.lang index aa0e3ce2f9a..0d92dd33451 100644 --- a/htdocs/langs/es_CL/other.lang +++ b/htdocs/langs/es_CL/other.lang @@ -171,6 +171,5 @@ LibraryUsed=Biblioteca utilizada LibraryVersion=Versión de biblioteca NoExportableData=No se pueden exportar datos (no hay módulos con datos exportables cargados o sin permisos) WebsiteSetup=Configuración del sitio web del módulo -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. WEBSITE_KEYWORDS=Palabras clave LinesToImport=Líneas para importar diff --git a/htdocs/langs/es_CL/products.lang b/htdocs/langs/es_CL/products.lang index ef999f10803..62693a1c76b 100644 --- a/htdocs/langs/es_CL/products.lang +++ b/htdocs/langs/es_CL/products.lang @@ -109,7 +109,6 @@ CustomerPrices=Precios de cliente SuppliersPrices=Precios del proveedor SuppliersPricesOfProductsOrServices=Precios de venta (de productos o servicios). CustomCode=Código de Aduanas / Productos / HS -Nature=Naturaleza del producto (material / acabado) ProductCodeModel=Plantilla de referencia de producto ServiceCodeModel=Plantilla de referencia de servicio AlwaysUseNewPrice=Utilice siempre el precio actual del producto/servicio diff --git a/htdocs/langs/es_CL/projects.lang b/htdocs/langs/es_CL/projects.lang index b21b59af6e9..c6ee5dbe200 100644 --- a/htdocs/langs/es_CL/projects.lang +++ b/htdocs/langs/es_CL/projects.lang @@ -51,7 +51,6 @@ ProgressCalculated=Progreso calculado Time=Hora ListOfTasks=Lista de tareas GoToListOfTimeConsumed=Ir a la lista de tiempo consumido -GoToListOfTasks=Mostrar como lista ListProposalsAssociatedProject=Listado de las propuestas comerciales relacionadas con el proyecto. ListOrdersAssociatedProject=Lista de pedidos relacionados con el proyecto. ListInvoicesAssociatedProject=Listado de facturas de clientes relacionadas con el proyecto. @@ -132,7 +131,6 @@ DocumentModelTimeSpent=Plantilla de informe de proyecto para el tiempo empleado. PlannedWorkload=Carga de trabajo planificada ProjectReferers=Artículos relacionados ProjectMustBeValidatedFirst=El proyecto debe ser validado primero -FirstAddRessourceToAllocateTime=Asignar un recurso de usuario a la tarea para asignar tiempo TimeAlreadyRecorded=Este es el tiempo que ya se ha registrado para esta tarea / día y el usuario %s NoUserAssignedToTheProject=No hay usuarios asignados a este proyecto. TimeSpentBy=Tiempo consumido por diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang index e85460ffd30..5ae76dc82e1 100644 --- a/htdocs/langs/es_CO/admin.lang +++ b/htdocs/langs/es_CO/admin.lang @@ -66,7 +66,6 @@ NoMaxSizeByPHPLimit=Nota: en la configuración de su PHP no está definido un l MaxSizeForUploadedFiles=Tamaño máximo para archivos importados (0 para desactivar cualquier importación) UseCaptchaCode=Usar código gráfico (CAPTCHA) en la página de inicio de sesión AntiVirusCommand=Ruta completa para el comando del antivirus -AntiVirusCommandExample=Ejemplo para ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Ejemplo para ClamAv: /usr/bin/clamscan AntiVirusParam=Más parámetros en la línea de comando ComptaSetup=Configuración del módulo contable UserSetup=Configuración de la administración de usuarios @@ -138,7 +137,6 @@ FeatureDisabledInDemo=Función deshabilitada en demo FeatureAvailableOnlyOnStable=Característica solo disponible en versiones oficiales estables BoxesDesc=Los widgets son componentes que muestran información que puede agregar para personalizar algunas páginas. Puede elegir entre mostrar el widget o no seleccionando la página de destino y haciendo clic en 'Activar', o haciendo clic en la papelera para desactivarla. OnlyActiveElementsAreShown=Solo se muestran los elementos de módulos habilitados . -ModulesDesc=Los módulos / aplicaciones determinan qué funciones están disponibles en el software. Algunos módulos requieren permisos para ser otorgados a los usuarios después de activar el módulo. Haga clic en el botón de encendido / apagado (al final de la línea del módulo) para habilitar / deshabilitar un módulo / aplicación. ModulesDeployDesc=Si los permisos en su sistema de archivos lo permiten, puede usar esta herramienta para implementar un módulo externo. El módulo será visible en la pestaña %s . ModulesMarketPlaces=Encuentra aplicaciones / módulos externos ModulesDevelopYourModule=Desarrolle su propia aplicación / módulos @@ -744,7 +742,6 @@ BillsPDFModules=Modelos de documentos de facturas. BillsPDFModulesAccordindToInvoiceType=La factura documenta los modelos según el tipo de factura. PaymentsPDFModules=Modelos de documentos de pago. ForceInvoiceDate=Forzar fecha de factura a fecha de validación -SuggestedPaymentModesIfNotDefinedInInvoice=Modo de pago sugerido en la factura por defecto si no está definido para la factura FreeLegalTextOnInvoices=Texto libre en las facturas. WatermarkOnDraftInvoices=Marca de agua en los proyectos de factura (ninguno si está vacío) PaymentsNumberingModule=Modelo de numeración de pagos. diff --git a/htdocs/langs/es_CO/bills.lang b/htdocs/langs/es_CO/bills.lang index 7ca34488db8..b2c2ff15057 100644 --- a/htdocs/langs/es_CO/bills.lang +++ b/htdocs/langs/es_CO/bills.lang @@ -38,8 +38,8 @@ InvoiceCustomer=Factura del cliente CustomerInvoice=Factura del cliente CustomersInvoices=Facturas de clientes SupplierBills=proveedores facturas -PaymentBack=Devolución de pago -CustomerInvoicePaymentBack=Devolución de pago +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund paymentInInvoiceCurrency=en facturas moneda DeletePayment=Eliminar pago ConfirmDeletePayment=¿Estás seguro de que quieres eliminar este pago? @@ -336,9 +336,8 @@ ToMakePayment=Paga ToMakePaymentBack=Pagar ListOfYourUnpaidInvoices=Lista de facturas impagadas NoteListOfYourUnpaidInvoices=Nota: Esta lista solo contiene facturas para terceros a los que está vinculado como representante de ventas. -RevenueStamp=Sello de ingresos YouMustCreateStandardInvoiceFirstDesc=Primero debe crear una factura estándar y convertirla en "plantilla" para crear una nueva factura de plantilla -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Factura PDF plantilla de esponja. Una plantilla de factura completa. PDFCrevetteDescription=Plantilla PDF factura Crevette. Una plantilla de factura completa para facturas de situación. TerreNumRefModelDesc1=Número de devolución con formato %syymm-nnnn para facturas estándar y %syymm-nnnn para notas de crédito donde yy es año, mm es mes y nnnn es una secuencia sin interrupción y sin retorno a 0 diff --git a/htdocs/langs/es_CO/compta.lang b/htdocs/langs/es_CO/compta.lang index be705a0bacc..a8bd33a6a73 100644 --- a/htdocs/langs/es_CO/compta.lang +++ b/htdocs/langs/es_CO/compta.lang @@ -135,7 +135,6 @@ SeeReportInInputOutputMode=Consulte %sanálisis de pagos%s para obtener un cálc SeeReportInDueDebtMode=Consulte %sanálisis de facturas%s para un cálculo basado en facturas registradas conocidas, incluso si aún no se han contabilizado en el Libro mayor. SeeReportInBookkeepingMode=Consulte %sRestauración report%s para obtener un cálculo de la tabla del Libro mayor de contabilidad RulesAmountWithTaxIncluded=- Las cantidades mostradas están con todos los impuestos incluidos. -RulesResultDue=- Incluye facturas pendientes, gastos, IVA, donaciones ya sean pagadas o no. También incluye salarios pagados.
    - Se basa en la fecha de validación de las facturas y el IVA y en la fecha de vencimiento de los gastos. Para los salarios definidos con el módulo Salario, se utiliza la fecha de valor del pago. RulesResultInOut=- Incluye los pagos reales realizados en facturas, gastos, IVA y salarios.
    - Se basa en las fechas de pago de las facturas, gastos, IVA y salarios. La fecha de donación para la donación. RulesCATotalSaleJournal=Incluye todas las líneas de crédito del diario Sale. RulesAmountOnInOutBookkeepingRecord=Incluye el registro en su Libro mayor con cuentas contables que tiene el grupo "GASTOS" o "INGRESOS" diff --git a/htdocs/langs/es_EC/admin.lang b/htdocs/langs/es_EC/admin.lang index 15b828ed627..c73942cac1e 100644 --- a/htdocs/langs/es_EC/admin.lang +++ b/htdocs/langs/es_EC/admin.lang @@ -69,9 +69,7 @@ NoMaxSizeByPHPLimit=Nota: No hay límite en tu configuración de PHP MaxSizeForUploadedFiles=Tamaño máximo de los archivos cargados (0 para rechazar cualquier subida) UseCaptchaCode=Utilizar código gráfico (CAPTCHA) en la página de inicio de sesión AntiVirusCommand= Ruta completa al comando antivirus -AntiVirusCommandExample= Ejemplo para ClamWin: c:\\Progra ~ 1\\ClamWin\\bin\\clamscan.exe
    Ejemplo para ClamAv: / usr / bin / clamscan AntiVirusParam= Más parámetros de línea de comandos -AntiVirusParamExample= Ejemplo para ClamWin: --database ComptaSetup=Configuración del módulo de contabilidad UserSetup=Configuración de gestión de usuarios MultiCurrencySetup=Configuración de múltiples divisas @@ -146,7 +144,6 @@ FeatureDisabledInDemo=Función desactivada en demostración FeatureAvailableOnlyOnStable=Característica sólo está disponible en las versiones oficiales estables BoxesDesc=Los widgets son componentes que muestran información que puede agregar para personalizar algunas páginas. Puede elegir entre mostrar el widget o no seleccionando la página de destino y haciendo clic en 'Activar', o haciendo clic en la papelera para deshabilitarla. OnlyActiveElementsAreShown=Solo se muestran elementos de %s
    . ModulesMarketPlaces=Buscar aplicaciones / módulos externos ModulesDevelopYourModule=Desarrolle su propia aplicación / módulos @@ -155,6 +152,7 @@ DOLISTOREdescriptionLong=En lugar de encender %s . DoliStoreDesc=DoliStore, el mercado oficial de módulos externos ERP / CRM de Dolibarr @@ -921,7 +919,6 @@ BillsPDFModules=Modelos de documentos de factura BillsPDFModulesAccordindToInvoiceType=La factura documenta los modelos según el tipo de factura. PaymentsPDFModules=Modelos de documentos de pago ForceInvoiceDate=Forzar la fecha de la factura a la fecha de validación -SuggestedPaymentModesIfNotDefinedInInvoice=Modo de pagos sugerido en la factura por defecto si no se define para la factura SuggestPaymentByRIBOnAccount=Sugerir pago por retiro en cuenta SuggestPaymentByChequeToAddress=Sugerir pago con cheque a FreeLegalTextOnInvoices=Texto libre en las facturas diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index c3ea6b5330e..b334bd80e13 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Nota: Su PHP limita el tamaño máximo de archivos a sub NoMaxSizeByPHPLimit=Ninguna limitación interna en su servidor PHP MaxSizeForUploadedFiles=Tamaño máximo de los documentos a subir (0 para prohibir la subida) UseCaptchaCode=Utilización de código gráfico (CAPTCHA) en la página de inicio de sesión -AntiVirusCommand= Ruta completa hacia el comando del antivirus -AntiVirusCommandExample= Ejemplo para ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Ejemplo para ClamAv: /usr/bin/clamscan +AntiVirusCommand=Ruta completa hacia el comando del antivirus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Parámetros complementarios en la línea de comandos -AntiVirusParamExample= Ejemplo para ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Configuración del módulo Contabilidad UserSetup=Configuración gestión de los usuarios MultiCurrencySetup=Configuración del módulo multidivisa @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Opción deshabilitada en demo FeatureAvailableOnlyOnStable=Funcionaliad disponible únicamente en versiones oficiales estables BoxesDesc=Los paneles son componentes que muestran algunos datos que pueden añadirse para personalizar algunas páginas. Puede elegir entre mostrar o no el panel mediante la selección de la página de destino y haciendo clic en 'Activar', o haciendo clic en la papelera para desactivarlo. OnlyActiveElementsAreShown=Sólo los elementos de módulos activados son mostrados. -ModulesDesc=Los módulos/aplicaciones definen qué funcionalidad está habilitada en el software. Algunos módulos requieren permisos que se deben conceder a los usuarios después de activar el módulo. Haga clic en el botón de encendido/apagado (al final de la línea del módulo) para activar/desactivar un módulo/aplicación. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Puede encontrar más módulos para descargar en sitios web externos en Internet ... ModulesDeployDesc=Si los permisos en su sistema de archivos lo permiten, puede utilizar esta herramienta para instalar un módulo externo. El módulo estará entonces visible en la pestaña %s. ModulesMarketPlaces=Buscar módulos externos... @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible con la versión %s NotCompatible=Este módulo no parece compatible con su Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Este módulo requiere una actualización de su Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Ver en la tienda +SeeSetupOfModule=Vea la configuración del módulo %s Updated=Actualizado Nouveauté=Novedad AchatTelechargement=Comprar/Descargar @@ -221,6 +222,7 @@ DoliPartnersDesc=Lista de empresas que ofrecen módulos y desarrollos a medida.< WebSiteDesc=Sitios web de referencia para encontrar más módulos (no core)... DevelopYourModuleDesc=Algunas soluciones para desarrollar su propio módulo ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Paneles disponibles BoxesActivated=Paneles activados ActivateOn=Activar en @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Deje este campo vacío para usar el valor por defecto DefaultLink=Enlace por defecto SetAsDefault=Establecer por defecto ValueOverwrittenByUserSetup=Atención: Este valor puede ser sobreescrito por un valor específico de la configuración del usuario (cada usuario puede tener su propia url clicktodial) -ExternalModule=Módulo externo - Instalado en el directorio %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Inicialización masiva de códigos de barras para terceros BarcodeInitForProductsOrServices=Inicio masivo de código de barras para productos o servicios CurrentlyNWithoutBarCode=Actualmente tiene %s registros de %s %s sin código de barras definido. @@ -947,7 +950,7 @@ DictionaryCanton=Provincias DictionaryRegion=Regiones DictionaryCountry=Países DictionaryCurrency=Monedas -DictionaryCivility=Tratamiento (Sr. Sra. etc.) +DictionaryCivility=Honorific titles DictionaryActions=Tipos de eventos de la agenda DictionarySocialContributions=Tipos de impuestos sociales o fiscales DictionaryVAT=Tasa de IVA (Impuesto sobre ventas en EEUU) @@ -988,6 +991,7 @@ VATIsNotUsedDesc=El tipo de IVA propuesto por defecto es 0. Este es el caso de a 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. VATIsNotUsedExampleFR=En Francia, se trata de asociaciones exentas de IVA o sociedades, organismos o profesiones liberales que han elegido el régimen fiscal de módulos (IVA en franquicia), pagando un IVA 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. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Tasa LocalTax1IsNotUsed=No sujeto LocalTax1IsUsedDesc=Uso de un 2º tipo de impuesto (Distinto del IVA) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=El tipo de IRPF propuesto por defecto en las creaciones de LocalTax2IsNotUsedDescES=El tipo de IRPF propuesto por defecto es 0. Final de regla. LocalTax2IsUsedExampleES=En España, se trata de personas físicas: autónomos y profesionales independientes que prestan servicios y empresas que han elegido el régimen fiscal de módulos. LocalTax2IsNotUsedExampleES=En España, se trata de empresas no sujetas al régimen fiscal de módulos. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Informes de impuestos locales CalcLocaltax1=Ventas - Compras CalcLocaltax1Desc=Los informes se calculan con la diferencia entre las ventas y las compras @@ -1018,6 +1025,7 @@ CalcLocaltax2=Compras CalcLocaltax2Desc=Los informes se basan en el total de las compras CalcLocaltax3=Ventas CalcLocaltax3Desc=Los informes se basan en el total de las ventas +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etiqueta que se utilizará si no se encuentra traducción para este código LabelOnDocuments=Etiqueta sobre documentos LabelOrTranslationKey=Clave de traducción o cadena @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Informe de gastos no aprobado Delays_MAIN_DELAY_HOLIDAYS=Días libres a aprobar SetupDescription1=Antes de comenzar a usar Dolibarr, se deben definir algunos parámetros iniciales y habilitar/configurar los módulos. SetupDescription2=Las siguientes dos secciones son obligatorias (las dos primeras entradas en el menú Configuración): -SetupDescription3=%s->%s
    Parámetros básicos para personalizar el comportamiento por defecto de Dolibarr (por ejemplo características relacionadas con el país) -SetupDescription4=%s -> %s
    Este software es una colección de varios módulos, todos más o menos independientes. Los módulos relevantes para tus necesidades deben ser activados y configurados. Se añadirán nuevas funcionalidades a los menús por cada módulo que se active. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Las otras entradas de configuración gestionan parámetros opcionales. LogEvents=Auditoría de la seguridad de eventos Audit=Auditoría @@ -1128,7 +1136,7 @@ LogEventDesc=Activa el registro de eventos de seguridad aquí. Los administrador AreaForAdminOnly=Los parámetros de configuración solamente pueden ser tratados por usuarios administrador SystemInfoDesc=La información del sistema es información técnica accesible solamente en solo lectura a los administradores. SystemAreaForAdminOnly=Esta área está disponible solo para usuarios administradores. Los permisos de usuario de Dolibarr no pueden cambiar esta restricción. -CompanyFundationDesc=Edite la información de la empresa o institución. Haga clic en el botón "%s" a pié de página. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Si tiene un contable/asesor externo, puede editar aquí su información. AccountantFileNumber=Código contable DisplayDesc=Los parámetros que afectan el aspecto y el comportamiento de Dolibarr se pueden modificar aquí. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Reglas para generar y validar contraseñas. DisableForgetPasswordLinkOnLogonPage=No mostrar el vínculo "Contraseña olvidada" en la página de login UsersSetup=Configuración del módulo usuarios UserMailRequired=E-Mail necesario para crear un usuario nuevo +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Setup del módulo RRHH ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Modelo de documento de facturas BillsPDFModulesAccordindToInvoiceType=Modelos de documentos de facturas según tipo de factura PaymentsPDFModules=Modelo de documentos de pago ForceInvoiceDate=Forzar la fecha de factura a la fecha de validación -SuggestedPaymentModesIfNotDefinedInInvoice=Formas de pago sugeridas para las facturas si no están definidas explícitamente +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Sugerir el pago por domiciliación en la cuenta SuggestPaymentByChequeToAddress=Sugerir el pago por cheque a FreeLegalTextOnInvoices=Texto libre en facturas @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Configuración de pagos a proveedores PropalSetup=Configuración del módulo Presupuestos ProposalsNumberingModules=Módulos de numeración de presupuestos ProposalsPDFModules=Modelos de documentos de presupuestos -SuggestedPaymentModesIfNotDefinedInProposal=Formas de pago sugeridas en presupuestos si no están definidas para los mismos +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Almacén a utilizar para el pedido ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Preguntar por cuenta bancaria a usar en el pedido a proveedor ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Configuración de Gestión de Pedidos OrdersNumberingModules=Módulos de numeración de los pedidos OrdersModelModule=Modelos de documentos de pedidos @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Advertencia, los valores altos ralentiz ModuleActivated=El módulo %s está activado y ralentiza dramáticamente la interfaz EXPORTS_SHARE_MODELS=Los modelos de exportación son compartidos con todos. ExportSetup=Configuración del módulo de exportación. +ImportSetup=Setup of module Import InstanceUniqueID=ID única de la instancia SmallerThan=Menor que LargerThan=Mayor que @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Realice un Ping anónimo '+1' al servidor de la base Dolibarr FeatureNotAvailableWithReceptionModule=Función no disponible cuando el módulo Recepción está activado EmailTemplate=Plantilla para e-mail EMailsWillHaveMessageID=Los correos electrónicos tendrán una etiqueta 'Referencias' que coincida con esta sintaxis -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang index 8e7f5965969..e482f089e54 100644 --- a/htdocs/langs/es_ES/bills.lang +++ b/htdocs/langs/es_ES/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Facturas de proveedores SupplierBill=Factura proveedor SupplierBills=Facturas de proveedores Payment=Pago -PaymentBack=Reembolso -CustomerInvoicePaymentBack=Reembolso +PaymentBack=Devolución +CustomerInvoicePaymentBack=Devolución Payments=Pagos PaymentsBack=Reembolsos paymentInInvoiceCurrency=en la divisa de las facturas PaidBack=Reembolsado DeletePayment=Eliminar el pago ConfirmDeletePayment=¿Está seguro de querer eliminar este pago? -ConfirmConvertToReduc=¿Desea convertir este %s en un descuento absoluto? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=El importe se guardará entre todos los descuentos y podría utilizarse como un descuento para una factura actual o futura para este cliente. -ConfirmConvertToReducSupplier=¿Desea convertir este %s en un descuento absoluto? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=El importe se guardará entre todos los descuentos y podría utilizarse como un descuento para una factura actual o futura de este proveedor. SupplierPayments=Pagos a proveedor ReceivedPayments=Pagos recibidos @@ -219,7 +219,10 @@ ShowInvoiceSituation=Ver situación factura UseSituationInvoices=Permitir factura de situación UseSituationInvoicesCreditNote=Permitir factura de situación de abono Retainedwarranty=Garantía retenida +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Porcentaje predeterminado de garantía retenida +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Para pagar en %s toPayOn=pagar en %s RetainedWarranty=Garantía retenida @@ -509,11 +512,11 @@ ToMakePayment=Pagar ToMakePaymentBack=Reembolsar ListOfYourUnpaidInvoices=Listado de facturas impagadas NoteListOfYourUnpaidInvoices=Nota: Este listado incluye solamente los terceros de los que usted es comercial. -RevenueStamp=Timbre fiscal +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Esta opción solo está disponible al crear una factura desde la pestaña 'cliente' del tercero YouMustCreateInvoiceFromSupplierThird=Esta opción solo está disponible al crear una factura desde la pestaña 'proveedor' del tercero YouMustCreateStandardInvoiceFirstDesc=Tiene que crear una factura estandar antes de convertirla a "plantilla" para crear una nueva plantilla de factura -PDFCrabeDescription=Factura PDF plantilla Crabe. Una plantilla de factura completa (antigua implementación de la plantilla Sponge) +PDFCrabeDescription=Factura PDF plantilla Crabe. Una plantilla de factura completa PDFSpongeDescription=Modelo de factura Esponja. Una plantilla de factura completa. PDFCrevetteDescription=Modelo PDF de factura Crevette. Un completo modelo de facturas de situación TerreNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas, %syymm-nnnn para las facturas rectificativas y %syymm-nnnn para los abonos donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Establecer fecha de finalización para la línea de servicio con AutoFillDateToShort=Definir fecha de finalización MaxNumberOfGenerationReached=Máximo número de generaciones alcanzado BILL_DELETEInDolibarr=Factura eliminada +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/es_ES/blockedlog.lang b/htdocs/langs/es_ES/blockedlog.lang index d3e4fc44d0a..d18c47c2657 100644 --- a/htdocs/langs/es_ES/blockedlog.lang +++ b/htdocs/langs/es_ES/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Registros inalterables ShowAllFingerPrintsMightBeTooLong=Mostrar todos los registros archivados (puede ser largo) ShowAllFingerPrintsErrorsMightBeTooLong=Mostrar todos los registros de archivo no válidos (puede ser largo) DownloadBlockChain=Descargar huellas dactilares -KoCheckFingerprintValidity=El registro archivado no es válido. Significa que alguien (¿un pirata informático?) Modificó algunos datos de este registro archivado después de que se grabó, o borró el registro archivado anterior (verifique que exista la línea con el # anterior). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=El registro archivado es válido. Significa que no se modificó ningún dato en esta línea y el registro sigue a la anterior. OkCheckFingerprintValidityButChainIsKo=El registro archivado parece válido en comparación con el anterior, pero la cadena se dañó anteriormente. AddedByAuthority=Almacenado en autoridad remota diff --git a/htdocs/langs/es_ES/cashdesk.lang b/htdocs/langs/es_ES/cashdesk.lang index 3ed336cddc7..c348ec90580 100644 --- a/htdocs/langs/es_ES/cashdesk.lang +++ b/htdocs/langs/es_ES/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Añadir este artículo RestartSelling=Retomar la venta SellFinished=Venta completada PrintTicket=Imprimir +SendTicket=Send ticket NoProductFound=Ningún artículo encontrado ProductFound=Producto encontrado NoArticle=Ningún artículo @@ -48,6 +49,7 @@ Footer=Pié de página AmountAtEndOfPeriod=Importe al final del período (día, mes o año) TheoricalAmount=Importe teórico RealAmount=Importe real +CashFence=Cash fence CashFenceDone=Cierre de caja realizado para el período. NbOfInvoices=Nº de facturas Paymentnumpad=Tipo de Pad para introducir el pago. @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS necesita categorías de productos para trabajar OrderNotes=Pedidos CashDeskBankAccountFor=Cuenta por defecto a usar para cobros en NoPaimementModesDefined=No hay modo de pago definido en la configuración de TakePOS -TicketVatGrouped=Agrupar por tipo de IVA en los tickets -AutoPrintTickets=Imprimir tickets automáticamente +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Habilitar características para Bar o Restaurante ConfirmDeletionOfThisPOSSale=¿Está seguro de querer eliminar la venta actual? ConfirmDiscardOfThisPOSSale=¿Quiere descartar esta venta? @@ -87,7 +90,19 @@ HeadBar=Cabecera SortProductField=Field for sorting products Browser=Navegador BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/es_ES/companies.lang b/htdocs/langs/es_ES/companies.lang index 3beee367458..0a98814f97f 100644 --- a/htdocs/langs/es_ES/companies.lang +++ b/htdocs/langs/es_ES/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=La empresa "%s" ha sido eliminada ListOfContacts=Listado de contactos ListOfContactsAddresses=Listado de contactos ListOfThirdParties=Listado de terceros -ShowCompany=Mostrar tercero ShowContact=Mostrar contacto ContactsAllShort=Todos (sin filtro) ContactType=Tipo de contacto @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Nombre del comercial SaleRepresentativeLastname=Apellidos del comercial ErrorThirdpartiesMerge=Se produjo un error al eliminar los terceros. Por favor, compruebe el log. Los cambios han sido anulados. NewCustomerSupplierCodeProposed=Código de cliente o proveedor ya utilizado, se sugiere un nuevo código +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Tipo de pago - Cliente PaymentTermsCustomer=Condiciones de pago - Cliente diff --git a/htdocs/langs/es_ES/compta.lang b/htdocs/langs/es_ES/compta.lang index c2c829d861d..19261fa227b 100644 --- a/htdocs/langs/es_ES/compta.lang +++ b/htdocs/langs/es_ES/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Consulte %sanálisis de pagos%s para obtener un cálc SeeReportInDueDebtMode=Consulte %sanálisis de facturas %s para un cálculo basado en facturas registradas conocidas, incluso si aún no se han contabilizado en Libro mayor. SeeReportInBookkeepingMode=Consulte el %sInforme de facturación%s para realizar un cálculo en la Tabla Libro mayor RulesAmountWithTaxIncluded=- Los importes mostrados son con todos los impuestos incluídos. -RulesResultDue=- Incluye las facturas pendientes, los gastos, el IVA, las donaciones pagadas o no. También se incluyen los salarios pagados.
    - Se basa en la fecha de la validación de las facturas e IVA y en la fecha de vencimiento de los gastos. Para los salarios definidos con el módulo de Salarios, se usa la fecha de valor del pago. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Incluye los pagos realizados sobre las facturas, las gastos y el IVA.
    - Se basa en las fechas de pago de las facturas, gastos e IVA. La fecha de donación para las donaciones -RulesCADue=- Incluye las facturas a clientes, estén pagadas o no.
    - Se basa en la fecha de validación de las mismas.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Incluye los pagos efectuados de las facturas a clientes.
    - Se basa en la fecha de pago de las mismas
    RulesCATotalSaleJournal=Incluye todas las líneas de crédito del diario de ventas. RulesAmountOnInOutBookkeepingRecord=Incluye registro en su libro mayor con cuentas contables que tiene el grupo "GASTOS" o "INGRESOS" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Volumen de ventas emitidas por tipo de impuesto TurnoverCollectedbyVatrate=Volumen de ventas cobradas por tipo de impuesto PurchasebyVatrate=Compra por tasa de impuestos LabelToShow=Etiqueta corta +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 4c32a8ed7a8..9d8bb8cf2dd 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Archivo no recibido íntegramente por el servidor. ErrorNoTmpDir=Directorio temporal de recepción %s inexistente ErrorUploadBlockedByAddon=Subida bloqueada por un plugin PHP/Apache. ErrorFileSizeTooLarge=El tamaño del fichero es demasiado grande. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Longitud del campo demasiado largo para el tipo int (máximo %s cifras) ErrorSizeTooLongForVarcharType=Longitud del campo demasiado largo para el tipo cadena (máximo %s cifras) ErrorNoValueForSelectType=Los valores de la lista deben ser indicados @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=El parámetro PHP upload_max_filesize (%s) es más alto que el parámetro PHP post_max_size (%s). Esta no es una configuración consistente. WarningPasswordSetWithNoAccount=Se fijó una contraseña para este miembro. Sin embargo, no se ha creado ninguna cuenta de usuario. Así que esta contraseña no se puede utilizar para acceder a Dolibarr. Puede ser utilizada por un módulo/interfaz externo, pero si no necesitar definir accesos de un miembro, puede desactivar la opción "Administrar un inicio de sesión para cada miembro" en la configuración del módulo miembros. Si necesita administrar un inicio de sesión, pero no necesita ninguna contraseña, puede dejar este campo vacío para evitar esta advertencia. Nota: También puede usarse el correo electrónico como inicio de sesión si el miembro está vinculada a un usuario. diff --git a/htdocs/langs/es_ES/install.lang b/htdocs/langs/es_ES/install.lang index 462b4d627af..17812d15fbd 100644 --- a/htdocs/langs/es_ES/install.lang +++ b/htdocs/langs/es_ES/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Este PHP soporta Curl PHPSupportCalendar=Este PHP admite extensiones de calendarios. PHPSupportUTF8=Este PHP soporta las funciones UTF8. PHPSupportIntl=Este PHP soporta las funciones Intl. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Este PHP soporta las funciones %s. PHPMemoryOK=Su memoria máxima de sesión PHP esta definida a %s. Esto debería ser suficiente. PHPMemoryTooLow=Su memoria máxima de sesión PHP está definida en %s bytes. Esto es muy poco. Se recomienda modificar el parámetro memory_limit de su archivo php.ini a por lo menos %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Su PHP no soporta Curl. ErrorPHPDoesNotSupportCalendar=Su instalación de PHP no admite extensiones de calendario. ErrorPHPDoesNotSupportUTF8=Este PHP no soporta las funciones UTF8. Resuelva el problema antes de instalar Dolibarr ya que no podrá funcionar correctamente. ErrorPHPDoesNotSupportIntl=Este PHP no soporta las funciones Intl. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Su instalación de PHP no soporta las funciones %s. ErrorDirDoesNotExists=El directorio %s no existe o no es accesible. ErrorGoBackAndCorrectParameters=Vuelva atrás y corrija los parámetros inválidos... @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=La aplicación intenta instalar la actualización YouTryInstallDisabledByFileLock=La aplicación intenta instalar la actualización, pero las páginas de instalación/actualización se han desactivado por razones de seguridad (mediante el archivo de bloqueo install.lock del directorio de documentos de dolibarr).
    ClickHereToGoToApp=Haga clic aquí para ir a su aplicación ClickOnLinkOrRemoveManualy=Haga clic en el siguiente enlace y si siempre llega a esta página, debe eliminar manualmente el archivo install.lock del directorio de documentos +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/es_ES/link.lang b/htdocs/langs/es_ES/link.lang index 1f9c077de3a..7bfa0b17d00 100644 --- a/htdocs/langs/es_ES/link.lang +++ b/htdocs/langs/es_ES/link.lang @@ -8,3 +8,4 @@ LinkRemoved=El vínculo %s ha sido eliminado ErrorFailedToDeleteLink= Error al eliminar el vínculo '%s' ErrorFailedToUpdateLink= Error al actualizar el vínculo '%s' URLToLink=URL a enlazar +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/es_ES/mails.lang b/htdocs/langs/es_ES/mails.lang index a8d72baaba2..a8930d2dd3d 100644 --- a/htdocs/langs/es_ES/mails.lang +++ b/htdocs/langs/es_ES/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No se han encontrado contactos/direcciones con alguna NoContactLinkedToThirdpartieWithCategoryFound=No se han encontrado contactos/direcciones con alguna categoría OutGoingEmailSetup=Configuración del correo saliente InGoingEmailSetup=Configuración del correo entrante -OutGoingEmailSetupForEmailing=Configuración de correo saliente (para correo masivo) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Configuración de correo saliente predeterminada Information=Información ContactsWithThirdpartyFilter=Contactos con filtro de terceros. diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index d72146a9945..026de108ad1 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Guardar y permanecer SaveAndNew=Guardar y nuevo TestConnection=Probar la conexión ToClone=Copiar +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Seleccione los datos que desea copiar: NoCloneOptionsSpecified=No hay datos definidos para copiar Of=de @@ -829,6 +830,8 @@ Gender=Sexo Genderman=Hombre Genderwoman=Mujer ViewList=Vista de listado +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obligatorio Hello=Hola GoodBye=Adiós @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Seleccione sus opciones de gráfico para construir u Measures=Medidas XAxis=Eje X YAxis=Eje Y +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/es_ES/other.lang b/htdocs/langs/es_ES/other.lang index d74254a2e71..9ede964857b 100644 --- a/htdocs/langs/es_ES/other.lang +++ b/htdocs/langs/es_ES/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Actualmente solo es posible 1 campo como X-Axis. Solo se ha seleccionado el primer campo seleccionado. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Validación pedido de cliente Notify_ORDER_SENTBYMAIL=Envío pedido de cliente por e-mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Envío pedido a proveedor por e-mail @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL de la página WEBSITE_TITLE=Título WEBSITE_DESCRIPTION=Descripción WEBSITE_IMAGE=Imagen -WEBSITE_IMAGEDesc=Ruta relativa de las imágenes. Puede mantenerla vacía, ya que rara vez se usa (puede ser usada por el contenido dinámico para mostrar una vista previa de una lista de publicaciones de blog). Use __WEBSITEKEY__ en la ruta si depende del nombre del sitio web. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Claves LinesToImport=Líneas a importar diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang index 2ed6f756286..83090c479e6 100644 --- a/htdocs/langs/es_ES/products.lang +++ b/htdocs/langs/es_ES/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=¡Esta herramienta actualiza la tasa de IVA definida en MassBarcodeInit=Inicialización masiva de códigos de barra MassBarcodeInitDesc=Puede usar esta página para inicializar el código de barras en los objetos que no tienen un código de barras definido. Compruebe antes que el módulo de códigos de barras esté configurado correctamente. ProductAccountancyBuyCode=Código contable (compras) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Código contable (ventas) ProductAccountancySellIntraCode=Código contable (venta intracomunitaria) ProductAccountancySellExportCode=Código de contabilidad (venta de exportación) @@ -165,7 +167,7 @@ SuppliersPrices=Precios de proveedores SuppliersPricesOfProductsOrServices=Precios de proveedores (productos o servicios) CustomCode=Código aduanero CountryOrigin=País de origen -Nature=Naturaleza del producto (materia prima/acabado) +Nature=Nature of product (material/finished) ShortLabel=Etiqueta corta Unit=Unidad p=u. diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index c4298377e9e..89bfa4e3b90 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=que estoy vinculado al proyecto Time=Tiempo ListOfTasks=Listado de tareas GoToListOfTimeConsumed=Ir al listado de tiempos consumidos -GoToListOfTasks=Mostrar como listado -GoToGanttView=mostrar como Gantt GanttView=Vista de Gantt ListProposalsAssociatedProject=Listado de presupuestos asociados al proyecto ListOrdersAssociatedProject=Listado de pedidos de clientes asociados al proyecto @@ -188,7 +186,7 @@ PlannedWorkload=Carga de trabajo prevista PlannedWorkloadShort=Carga de trabajo ProjectReferers=Items relacionados ProjectMustBeValidatedFirst=El proyecto debe validarse primero -FirstAddRessourceToAllocateTime=Asignar un usuario a la tarea para asignar tiempo +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Entrada por día InputPerWeek=Entrada por semana InputPerMonth=Entrada por mes @@ -240,6 +238,7 @@ LatestModifiedProjects=Últimos %s proyectos modificados OtherFilteredTasks=Otras tareas filtradas NoAssignedTasks=Sin tareas asignadas ( Asigne proyectos/tareas al usuario actual desde el selector superior para indicar tiempos en ellas) ThirdPartyRequiredToGenerateInvoice=Se debe definir un tercero en el proyecto para poder facturarlo. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Permitir comentarios de los usuarios sobre las tareas AllowCommentOnProject=Permitir comentarios de los usuarios en los proyectos @@ -265,3 +264,4 @@ InvoiceToUse=Borrador de factura para usar NewInvoice=Nueva factura OneLinePerTask=Una línea por tarea OneLinePerPeriod=Una línea por período +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/es_ES/receiptprinter.lang b/htdocs/langs/es_ES/receiptprinter.lang index f72e8676fd9..4876103a07b 100644 --- a/htdocs/langs/es_ES/receiptprinter.lang +++ b/htdocs/langs/es_ES/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Impresora de pruebas CONNECTOR_NETWORK_PRINT=Impresora de red CONNECTOR_FILE_PRINT=Impresora Local CONNECTOR_WINDOWS_PRINT=Impresora local de Windows +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Impresora falsa para pruebas CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Perfil por defecto PROFILE_SIMPLE=Perfil simple PROFILE_EPOSTEP=Perfil Epos Tep @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Ref. factura +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Número de IVA intracomunitario +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/es_ES/stripe.lang b/htdocs/langs/es_ES/stripe.lang index b7f92f55d9d..d34c8786689 100644 --- a/htdocs/langs/es_ES/stripe.lang +++ b/htdocs/langs/es_ES/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nombre del vendedor CSSUrlForPaymentForm=Url de la hoja de estilo CSS para el formulario de pago NewStripePaymentReceived=Nuevo pago de Stripe recibido NewStripePaymentFailed=Nuevo pago de Stripe intentado, pero ha fallado +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Clave secreta test STRIPE_TEST_PUBLISHABLE_KEY=Clave de test publicable STRIPE_TEST_WEBHOOK_KEY=Clave de prueba Webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Enlace para configurar Stripe WebHook para llamar a l ToOfferALinkForLiveWebhook=Enlace para configurar Stripe WebHook para llamar a la IPN (modo real) PaymentWillBeRecordedForNextPeriod=El pago se registrará para el próximo período. ClickHereToTryAgain=Haga clic aquí para volver a intentarlo ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Debido a las fuertes reglas de autenticación del cliente, la creación de una tarjeta debe realizarse desde la oficina administrativa de Stripe. Puede hacer clic aquí para activar el registro de cliente de Stripe: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/es_ES/users.lang b/htdocs/langs/es_ES/users.lang index 62e0d03710c..b843c3e6ba4 100644 --- a/htdocs/langs/es_ES/users.lang +++ b/htdocs/langs/es_ES/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Usuarios y sus propiedades. DomainUser=Usuario de dominio Reactivate=Reactivar CreateInternalUserDesc=Este formulario le permite crear un usuario interno para su empresa/organización. Para crear un usuario externo (cliente, proveedor, etc), use el botón "Crear una cuenta de usuario" desde la ficha de un contacto del tercero. -InternalExternalDesc=Un usuario interno es un usuario que pertenece a su empresa/organización.
    Un usuario externo es un usuario cliente, proveedor u otro.

    En los 2 casos, los permisos de usuarios definen los derechos de acceso, pero el usuario externo puede además tener un gestor de menús diferente al usuario interno (véase Inicio - Configuración - Entorno) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=El permiso se concede ya que lo hereda de un grupo al cual pertenece el usuario. Inherited=Heredado UserWillBeInternalUser=El usuario creado será un usuario interno (ya que no está ligado a un tercero en particular) @@ -113,3 +113,5 @@ CantDisableYourself=No puede deshabilitar su propio registro de usuario ForceUserExpenseValidator=Forzar validador de informes de gastos ForceUserHolidayValidator=Forzar validador de solicitud de días libres ValidatorIsSupervisorByDefault=Por defecto, el validador es el supervisor del usuario. Mantener vacío para mantener este comportamiento. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/es_ES/website.lang b/htdocs/langs/es_ES/website.lang index fdbed999abc..f0b7e73215f 100644 --- a/htdocs/langs/es_ES/website.lang +++ b/htdocs/langs/es_ES/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Ver página en una pestaña nueva SetAsHomePage=Establecer como Página de inicio RealURL=URL Real ViewWebsiteInProduction=Ver sitio web usando la URL de inicio -SetHereVirtualHost=Si puede crear, en su servidor web (Apache, Nginx...), un Host Virtual con PHP activado y un directorio Root en
    %s
    introduzca aquí el nombre del host virtual que ha creado, así que la previsualización puede verse usando este acceso directo al servidor, y no solo usando el servidor de Dolibarr +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=En el entorno de desarrollo, es posible que prefiera probar el sitio con el servidor web incrustado de PHP (se requiere PHP 5.5) ejecutando
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Ejecute su sitio web con otro proveedor de alojamiento Dolibarr
    Si no tiene un servidor web como Apache o NGinx disponible en Internet, puede exportar e importar su sitio web a otra instancia de Dolibarr proporcionada por otro proveedor de alojamiento de Dolibarr que brinde una integración completa con el módulo del sitio web. Puede encontrar una lista de algunos proveedores de hosting Dolibarr en https://saas.dolibarr.org CheckVirtualHostPerms=Compruebe también que el host virtual tiene %s en archivos en %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Lo sentimos, este sitio web está actualmente fue WEBSITE_USE_WEBSITE_ACCOUNTS=Habilitar tabla de cuentas del sitio web WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Habilitar tabla para almacenar cuentas del sitio web (inicio de sesión/contraseña) para cada sitio web/tercero YouMustDefineTheHomePage=Antes debe definir la página de inicio por defecto -OnlyEditionOfSourceForGrabbedContentFuture=Atención: la creación de una página web mediante la importación de una página web externa está reservada para usuarios experimentados. Dependiendo de la complejidad de la página de origen, el resultado de la importación puede diferir una vez importado del original. Además, si la página de origen utiliza un estilo CSS común o un javascript no compatible, puede interrumpir el aspecto o las características del editor del sitio web al trabajar en esta página. Este método es una forma más rápida de tener una página, pero se recomienda crear su nueva página desde cero o desde una plantilla de página sugerida.
    También tenga en cuenta que solo será posible la edición de código HTML cuando el contenido de una página se haya inicializado al agarrar desde una página externa (el editor "en línea" NO estará disponible) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Nota: solo será posible editar una fuente HTML cuando el contenido de una página se integre utilizando una página externa GrabImagesInto=Obtener también imágenes encontradas en css y página. ImagesShouldBeSavedInto=Las imágenes deben guardarse en el directorio @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Para buenas prácticas de SEO, use un texto de entre 5 MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/es_MX/admin.lang b/htdocs/langs/es_MX/admin.lang index 9673e5b8955..02dbd732725 100644 --- a/htdocs/langs/es_MX/admin.lang +++ b/htdocs/langs/es_MX/admin.lang @@ -70,9 +70,7 @@ NoMaxSizeByPHPLimit=Nota: No hay límite establecido en la configuración de PHP MaxSizeForUploadedFiles=El tamaño máximo para los archivos subidos (0 para no permitir ninguna carga) UseCaptchaCode=Utilizar el código gráfico (CAPTCHA) en la página de inicio de sesión AntiVirusCommand=Ruta completa del comando del antivirus -AntiVirusCommandExample=Ejemplo para ClamWin: c:\\ Progra~1\\ClamWin\\bin\\clamscan.exe
    Ejemplo para ClamAV: /usr/bin/clamscan AntiVirusParam=Más parámetros de línea de comandos -AntiVirusParamExample=Ejemplo para ClamWin: --database="C:\\Archivos de programa (x86)\\ClamWin\\lib" ComptaSetup=Establecer modulo de Contabilidad UserSetup=Establecer usuario Administrador MultiCurrencySetup=Configurar multidivisas @@ -153,7 +151,6 @@ FeatureDisabledInDemo=Característica deshabilitada en versión demo FeatureAvailableOnlyOnStable=Característica unicamente disponible en versiones oficiales estables BoxesDesc=Widgets son componentes mostrando alguna información que tu puedes agregar para personalizar algunas páginas. Tu puedes elegir entre mostrar el widget o no al seleccionar la página objetivo y haciendo click en 'Activar', o haciendo click en la papelera de reciclaje para deshabilitarlos. OnlyActiveElementsAreShown=Solo elementos de \nmodulos habilitados son\n mostrados. -ModulesDesc=Los módulos/aplicaciones determinan qué funciones están disponibles en el software. Algunos módulos requieren que se otorguen permisos a los usuarios después de activar el módulo. Haga clic en el botón de encendido/apagado (al final de la línea del módulo) para habilitar/deshabilitar un módulo/aplicación. ModulesMarketPlaceDesc=Tu puedes encontrar mas módulos para descargar en sitios web externos en el Internet ModulesDeployDesc=Si los permisos en tu sistema de archivos lo permiten, puedes usar esta herramienta para utilizar un módulo externo. El módulo entonces sera visible en la pestaña %s. ModulesMarketPlaces=Encontrar App/módulos externos diff --git a/htdocs/langs/es_MX/bills.lang b/htdocs/langs/es_MX/bills.lang index a6ee51cba02..63ece735923 100644 --- a/htdocs/langs/es_MX/bills.lang +++ b/htdocs/langs/es_MX/bills.lang @@ -26,6 +26,8 @@ NoInvoiceToCorrect=Ninguna factura para corregir InvoiceHasAvoir=Fue fuente de una o varias notas de crédito InvoiceCustomer=Factura del cliente CustomerInvoice=Factura del cliente +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund ConfirmDeletePayment=Are you sure you want to delete this payment ? PaymentAmount=Importe de pago BillStatusPaid=Pagado @@ -43,5 +45,5 @@ CreditNote=Nota de crédito ReasonDiscount=Razón PaymentTypeCB=Tarjeta de crédito PaymentTypeShortCB=Tarjeta de crédito -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template situationInvoiceShortcode_S=D diff --git a/htdocs/langs/es_MX/companies.lang b/htdocs/langs/es_MX/companies.lang index 72b4040e785..4ffbf46023e 100644 --- a/htdocs/langs/es_MX/companies.lang +++ b/htdocs/langs/es_MX/companies.lang @@ -7,8 +7,8 @@ DeleteContact=Eliminar un contacto/dirección ConfirmDeleteContact=¿Estás seguro que quieres borrar este contacto y toda la información heredada? MenuNewProspect=Nuevo prospecto MenuNewSupplier=Nuevo vendedor -NewCompany=Nueva compañía (prospecto, cliente, vendedor) -NewThirdParty=Nuevo tercero (prospecto, cliente, vendedor) +NewCompany=Nueva compañía (cliente potencial, cliente, proveedor) +NewThirdParty=Nuevo tercero (cleinte potencial, cliente, proveedor) CreateThirdPartyAndContact=Crear un tercero + un contacto hijo IdThirdParty=ID de tercero IdCompany=ID de empresa @@ -24,6 +24,7 @@ PriceFormatInCurrentLanguage=Formato de visualización de precios en el idioma y ThirdPartyEmail=Correo electrónico del tercero ThirdPartyCustomersWithIdProf12=Clientes con %s o %s ThirdPartySuppliers=Vendedores +ToCreateContactWithSameName=Creará automáticamente un contacto/dirección con la misma información en tercero. En la mayoría de los casos, incluso si su tercero es una persona física, la creación de un tercero solo es suficiente. ParentCompany=Empresa matriz ReportByQuarter=Reporte por tasa CivilityCode=Código de civilidad @@ -119,8 +120,18 @@ CompanyHasRelativeDiscount=Éste cliente tiene un descuento por defecto de %s CompanyHasNoRelativeDiscount=Este cliente no tiene ningún descuento relativo por defecto HasRelativeDiscountFromSupplier=Tiene un descuento predeterminado de %s%% de este proveedor HasNoRelativeDiscountFromSupplier=No tiene un descuento relativo predeterminado de este proveedor. +CompanyHasAbsoluteDiscount=Este cliente aún tiene descuentos disponibles (notas de crédito o pagos) por %s %s +CompanyHasDownPaymentOrCommercialDiscount=Este cliente aún tiene descuentos disponibles (notas de crédito o pagos) por %s %s CompanyHasCreditNote=Este cliente aún tiene notas de crédito por %s %s +HasNoAbsoluteDiscountFromSupplier=No se tiene un descuento disponible con este proveedor +HasAbsoluteDiscountFromSupplier=Se tiene descuentos disponibles (notas de credito o pagos) por %s%s para este proveedor +HasDownPaymentOrCommercialDiscountFromSupplier=Se tiene descuentos disponibles (notas de credito o pagos) por %s%s para este proveedor +HasCreditNoteFromSupplier=Se tienen notas de crédito por %s%s para este proveedor CompanyHasNoAbsoluteDiscount=Este cliente no tiene descuentos fijos disponibles +CustomerAbsoluteDiscountAllUsers=Descuento absoluto para el cliente (autorizado para todos los usuarios) +CustomerAbsoluteDiscountMy=Descuento absoluto para el cliente (autorizado por usted mismo) +SupplierAbsoluteDiscountAllUsers=Descuento absoluto con proveedor (dado por todos los usuarios) +SupplierAbsoluteDiscountMy=Descuento absoluto con proveedor (dado por usted mismo) DiscountNone=Ninguno ContactId=ID de contacto NoContactDefinedForThirdParty=No se ha definido un contacto para este tercero @@ -128,16 +139,33 @@ NoContactDefined=No hay contacto definido DefaultContact=Contacto/dirección por defecto DeleteACompany=Eliminar empresa PersonalInformations=Datos personales +CustomerCode=Código de cliente +SupplierCode=Código de proveedor +CustomerCodeShort=Código de cliente +SupplierCodeShort=Código de proveedor +CustomerCodeDesc=Código de cliente, único para todos los clientes +SupplierCodeDesc=Código de proveedor, único para todos los proveedores RequiredIfCustomer=Requerido si el tercero es un cliente o cliente potencial +RequiredIfSupplier=Requerido si el tercero es un proveedor +ValidityControledByModule=Validez controlada por el módulo +ThisIsModuleRules=Reglas para este módulo CompanyDeleted=Empresa "%s" eliminada de la base de datos. ListOfContacts=Lista de contactos/direcciones ListOfContactsAddresses=Lista de contactos/direcciones +ListOfThirdParties=Lista de terceros ContactsAllShort=Todos (Sin filtro) ContactForOrdersOrShipments=Contacto de la orden o del envío ContactForInvoices=Contacto de facturación NoContactForAnyOrderOrShipments=Este contacto no es un contacto para cualquier pedido o envío +NewContactAddress=Nuevo contacto/dirección EditCompany=Editar empresa +ThisUserIsNot=Este usuario no es un cliente potencial, cliente ni proveedor +VATIntraCheckDesc=El numero de control de IVA intracomunitario debe incluir el prefijo del país. El enlace %s permite consultar al servicio de control de números de IVA intracomunitario (VIES). Se requiere acceso a Internet desde el servidor para que este servicio funcione. +VATIntraCheckableOnEUSite=Verificar el numero de control de IVA intracomunitario en la web de la Comisión Europea +VATIntraManualCheck=También puedes verificar manualmente desde el sitio web de la comision europea %s ErrorVATCheckMS_UNAVAILABLE=No es posible realizar la verificación. El servicio de comprobación no es prestado por el país miembro (%s). +NorProspectNorCustomer=No es cliente potencial, ni cliente +JuridicalStatus=Tipo de entidad legal OthersNotLinkedToThirdParty=Otros, no vinculado a un tercero ProspectStatus=Estatus del cliente potencial TE_MEDIUM=Mediana empresa @@ -152,22 +180,37 @@ ChangeContactInProcess=Cambiar estado a 'Contacto en proceso' ChangeContactDone=Cambiar estado a 'Contacto realizado' NoParentCompany=Ninguno DolibarrLogin=Login de usuario +ExportDataset_company_1=Terceros (Empresas/fundaciones/personas físicas) y sus propiedades +ExportDataset_company_2=Contactos y propiedades +ImportDataset_company_1=Terceros y sus propiedades +ImportDataset_company_2=Contactos/Direcciones adicionales del tercero +ImportDataset_company_3=Cuentas de banco del tercero +ImportDataset_company_4=Representante de ventas del tercero (asigna representantes de ventas/usuarios de companias) +PriceLevel=Nivel de precio +PriceLevelLabels=Etiquetas de nivel de precios DeleteFile=Borrar archivo ConfirmDeleteFile=¿Seguro que quieres borrar este archivo? AllocateCommercial=Asignado al representante de ventas Organization=Organización +FiscalYearInformation=Año fiscal FiscalMonthStart=Més de inicio del año fiscal +YouMustAssignUserMailFirst=Debe crear un correo electrónico para este usuario primero para poder agregarle notificaciones de correo electrónico. YouMustCreateContactFirst=Para poder agregar notificaciones por correo electrónico, primero debe definir contactos con correos electrónicos válidos para el tercero +ListSuppliersShort=Lista de proveedores +ListProspectsShort=Lista de clientes potenciales +ListCustomersShort=Lista de clientes ThirdPartiesArea=Terceros/Contactos LastModifiedThirdParties=Últimos %s Terceros modificados UniqueThirdParties=Total de terceros InActivity=Abierta OutstandingBillReached=Max. para la cuenta pendiente alcanzada OrderMinAmount=Cantidad mínima por pedido +MonkeyNumRefModelDesc=Devuelve un número con formato %syymm-nnnn para el código de cliente y %syymm-nnnn para código de proveedor donde yy es el año, mm el mes y nnnn una secuencia numérica sin ruptura y sin regresar a 0. LeopardNumRefModelDesc=El código es libre. Este código puede ser modificado en cualquier momento. ManagingDirectors=Administrador(es) (CEO, Director, Presidente...) MergeOriginThirdparty=Tercero duplicado (tercero que deseas eliminar) MergeThirdparties=Combinar terceros +ConfirmMergeThirdparties=¿Seguro que deseas combinar este tercero con el tercero actual? Todos los objetos vinculados (facturas, pedidos, ...) de este tercero serán trasladados al tercero actual y despues se eliminara el tercero. ThirdpartiesMergeSuccess=Se han fusionado los terceros SaleRepresentativeLogin=Inicio de sesión del representante de ventas SaleRepresentativeFirstname=Nombre del representante de ventas diff --git a/htdocs/langs/es_MX/other.lang b/htdocs/langs/es_MX/other.lang index 3404c216e5d..ac900b15595 100644 --- a/htdocs/langs/es_MX/other.lang +++ b/htdocs/langs/es_MX/other.lang @@ -2,4 +2,3 @@ Tools=Herramientas TMenuTools=Herramientas Notify_COMPANY_CREATE=Tercero creado -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. diff --git a/htdocs/langs/es_PE/admin.lang b/htdocs/langs/es_PE/admin.lang index ed1fa38ddd0..659e7e79f39 100644 --- a/htdocs/langs/es_PE/admin.lang +++ b/htdocs/langs/es_PE/admin.lang @@ -1,7 +1,6 @@ # Dolibarr language file - Source file is en_US - admin VersionProgram=Versión del programa VersionLastInstall=Instalar versión inicial -AntiVirusCommandExample=Ejemplo para ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Ejemplo para ClamAv: /usr/bin/clamscan ExampleOfDirectoriesForModelGen=Ejemplo de sintaxis:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir Module30Name=Facturas Permission91=Consultar impuestos e IGV diff --git a/htdocs/langs/es_PE/bills.lang b/htdocs/langs/es_PE/bills.lang index 3267ce16011..688939af29d 100644 --- a/htdocs/langs/es_PE/bills.lang +++ b/htdocs/langs/es_PE/bills.lang @@ -5,9 +5,11 @@ InvoiceAvoir=Nota de crédito InvoiceAvoirAsk=Nota de crédito para corregir factura InvoiceCustomer=Factura de cliente CustomerInvoice=Factura de cliente +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund BillShortStatusClosedUnpaid=Cerrado 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) CreditNote=Nota de crédito VATIsNotUsedForInvoice=* IGV no aplicable art-293B del CGI -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template diff --git a/htdocs/langs/es_PE/mrp.lang b/htdocs/langs/es_PE/mrp.lang index 14a870e357b..a699d3a726f 100644 --- a/htdocs/langs/es_PE/mrp.lang +++ b/htdocs/langs/es_PE/mrp.lang @@ -1,14 +1,55 @@ # Dolibarr language file - Source file is en_US - mrp +Mrp=Órdenes de Fabricación +MO=Orden de Fabricación +MRPDescription=Modulo para gestionar la producción y órdenes de fabricación (OF). MRPArea=Área PRM -MenuBOM=Listas de material +MrpSetupPage=Configuración del modulo PRM +MenuBOM=Lista de materiales LatestBOMModified=Últimas%s Lista de materiales modificados +LatestMOModified=Últimas %s Órdenes de Fabricación modificadas BillOfMaterials=Lista de Material ListOfBOMs=Listado de Lista De Material - BOM +ListOfManufacturingOrders=Lista de Órdenes de Fabricación NewBOM=Nueva lista de material +ProductBOMHelp=Producto para crear con este BOM.
    Nota: Productos con la propiedad 'Naturaleza del producto'= 'Materia prima' no serán visibles en esta lista. BOMsNumberingModules=Plantillas de numeración BOM +BOMsModelModule=Plantillas de documento BOM +MOsNumberingModules=Numeración de plantillas MO +MOsModelModule=Plantillas de documento MO FreeLegalTextOnBOMs=Texto libre en documento BOM WatermarkOnDraftBOMs=Marca de agua en BOM borrador +FreeLegalTextOnMOs=Texto libre en documento MO +WatermarkOnDraftMOs=Marca de agua en borrador MO +ConfirmCloneBillOfMaterials=Está seguro de clonar esta lista de materiales %s? +ConfirmCloneMo=Está seguro de clonar la Orden de Fabricación %s? ValueOfMeansLoss=Valor de 0.95 significa un promedio de 5%% pérdidas durante la producción -DeleteBillOfMaterials=Borrar Lista De Materiales +DeleteBillOfMaterials=Eliminar Lista De Materiales ConfirmDeleteBillOfMaterials=Está seguro de borrar esta Lista de Materiales ConfirmDeleteMo=Está seguro de borrar esta Lista de Materiales +NewMO=Nueva Orden de Fabricación +QtyToProduce=Cantidad a producir +DateEndPlannedMo=Fecha de fin planeada +KeepEmptyForAsap=Vacío si es 'Tan pronto como sea posible' +EstimatedDurationDesc=Duración estimada a fabricar el producto usando este BOM +ConfirmValidateBom=Está seguro de validar el BOM con la referencia %s (Usted podrá usarlo para crear nuevas órdenes de fabricación) +ConfirmCloseBom=Está seguro de cancelar este BOM (Ya no podrá usarlo para crear nuevas órdenes de fabricación) +ConfirmReopenBom=Está seguro de re-abrir este BOM (Podrá usarlo para crear nuevas órdenes de fabricación) +QtyFrozen=Cant. Congelada +QuantityFrozen=Cantidad congelada +QuantityConsumedInvariable=Cuando está marcada, la cantidad consumida es siempre el valor asignado y no depende de la cantidad producida +DisableStockChangeHelp=Cuando está marcada, el stock no cambia en este producto, cualquiera que sea la cantidad consumida. +BomAndBomLines=Lista de materiales y lineas +BOMLine=Linea de BOM +CreateMO=Crear MO +ToConsume=Consumir +ToProduce=Producir +QtyAlreadyConsumed=Cant. consumida +QtyAlreadyProduced=Cant. producida +ConsumeOrProduce=Consumir o Producir +ConsumeAndProduceAll=Consumir y Producir Todo +TheProductXIsAlreadyTheProductToProduce=El producto a agregar es el producto a producir +ForAQuantityOf1=Para una cantidad a producir de 1 BOM +ConfirmValidateMo=Está seguro de validar esta Orden de Fabricación? +AddNewConsumeLines=Agregar nueva linea para consumir +ProductsToConsume=Productos para consumir +ProductsToProduce=Productos para producir diff --git a/htdocs/langs/es_VE/bills.lang b/htdocs/langs/es_VE/bills.lang index 753248eaf0d..e5e74735485 100644 --- a/htdocs/langs/es_VE/bills.lang +++ b/htdocs/langs/es_VE/bills.lang @@ -1,5 +1,7 @@ # Dolibarr language file - Source file is en_US - bills BillsCustomersUnpaid=Facturas a clientes pendientes de cobro +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund CreateCreditNote=Crear factura de abono BillShortStatusConverted=Pagada CustomerBillsUnpaid=Facturas a clientes pendientes de cobro @@ -8,5 +10,5 @@ PaymentConditionShortPT_ORDER=Pedido PaymentTypeShortTRA=A validar VATIsNotUsedForInvoice=- LawApplicationPart1=- -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template situationInvoiceShortcode_S=D diff --git a/htdocs/langs/es_VE/other.lang b/htdocs/langs/es_VE/other.lang index 74603c3a3e3..6f639e2a2ca 100644 --- a/htdocs/langs/es_VE/other.lang +++ b/htdocs/langs/es_VE/other.lang @@ -1,4 +1,3 @@ # Dolibarr language file - Source file is en_US - other SourcesRepository=Repositorio de fuentes WEBSITE_DESCRIPTION=Descripcion -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index 7e62c9545de..61216902bb9 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Märkus: PHP seadistustes pole piiri määratletud MaxSizeForUploadedFiles=Üleslaetava faili maksimaalne suurus (0 keelab failide üleslaadimise) UseCaptchaCode=Kasuta sisselogimise lehel graafilist koodi (CAPTCHA) -AntiVirusCommand= Täielik süsteemi rada antiviiruse käsuni -AntiVirusCommandExample= ClamWini põhine näide: C:\\Program~1\\ClamWin\\bin\\clamscan.exe
    ClamAV põhine näide: /usr/bin/clamscan +AntiVirusCommand=Täielik süsteemi rada antiviiruse käsuni +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Lisaparameetrid, mida käsureal edastada -AntiVirusParamExample= ClamWini põhine näide: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Raamatupidamise mooduli seadistamine UserSetup=Kasutajate haldamise seadistamine MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Demoversioonis blokeeritud funktsionaalsus FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Näidatakse ainult elemente sisse lülitatud moodulitest. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Alla laadimiseks leiad rohkem mooduleid Internetist. ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Otsi katsetuskärgus rakendusi/mooduleid @@ -212,6 +212,7 @@ CompatibleUpTo=Ühilduv versioooniga %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Uuendatud Nouveauté=Novelty AchatTelechargement=Osta / Laadi alla @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Saadaolevad vidinad BoxesActivated=Aktiveeritud vidinad ActivateOn=Aktiveeri lehel @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Jäta tühjaks vaikeväärtuse kasutamiseks DefaultLink=Vaikimisi link SetAsDefault=Määra vaikimisi ValueOverwrittenByUserSetup=Hoiatus: kasutaja võib selle väärtuse üle kirjutada oma seadetega (iga kasutaja saab määratleda isikliku clicktodial URLi) -ExternalModule=Väline moodul - paigaldatud kausta %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass-vöötkoodi loomine kolmandatele osapooltele BarcodeInitForProductsOrServices=Toodete/teenuste jaoks massiline vöötkoodide loomine või lähtestamine CurrentlyNWithoutBarCode=Praegu on teil %s kirje %s %s kohta ilma vöötkoodi määramata. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Piirkonnad DictionaryCountry=Riigid DictionaryCurrency=Valuutad -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Käibe- või müügimaksumäärad @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Määr LocalTax1IsNotUsed=Ära kasuta teist maksu LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Vaikimisi pakutud IRPF on 0. Reegli lõpp. LocalTax2IsUsedExampleES=Hispaanias on nad vabakutselised ja spetsialistid, kes pakuvad teenuseid ja ettevõtted, kes on valinud moodulipõhise maksusüsteemi. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Müügid - Ostud CalcLocaltax1Desc=Kohalike maksude aruannete arvutamiseks kasutatakse kohalike maksude müügi ja kohalike maksude ostude vahet @@ -1018,6 +1025,7 @@ CalcLocaltax2=Ostud CalcLocaltax2Desc=Kohalike maksude aruanded on kohalike maksude ostude summas CalcLocaltax3=Müügid CalcLocaltax3Desc=Kohalike maksude aruanded on kohalike maksude müükide summas +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Vaikimisi kasutatav silt, kui koodile ei leitud tõlke vastet LabelOnDocuments=Dokumentide silt LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Sündmuste turvaaudit Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Süsteemi info sisaldab mitmesugust tehnilist infot, mida ei saa muuta ning mis on nähtav vaid administraatoritele. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Kasutajate mooduli seadistamine UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Arve dokumentide mudelid BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Sunni arve kuupäevaks arve kinnitamise kuupäev -SuggestedPaymentModesIfNotDefinedInInvoice=Soovitatav vaikimisi makseviis arvel, kui seda pole arvel määratletud +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Vaba tekst arvetel @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Pakkumiste mooduli seadistamine ProposalsNumberingModules=Pakkumiste numeratsiooni mudelid ProposalsPDFModules=Pakkumiste dokumentatsiooni mudelid -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Tellimuste numeratsiooni mudelid OrdersModelModule=Tellimuste dokumentide mudelid @@ -1471,7 +1482,7 @@ LDAPFieldCompanyExample=Example: o LDAPFieldSid=SID LDAPFieldSidExample=Example: objectsid LDAPFieldEndLastSubscription=Tellimuse lõpu kuupäev -LDAPFieldTitle=Job position +LDAPFieldTitle=Ametikoht LDAPFieldTitleExample=Näide: tiitel LDAPFieldGroupid=Group id LDAPFieldGroupidExample=Exemple : gidnumber @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/et_EE/bills.lang b/htdocs/langs/et_EE/bills.lang index e866e640b5e..8cba62107af 100644 --- a/htdocs/langs/et_EE/bills.lang +++ b/htdocs/langs/et_EE/bills.lang @@ -66,9 +66,9 @@ paymentInInvoiceCurrency=in invoices currency PaidBack=Tagasi makstud DeletePayment=Kustuta makse ConfirmDeletePayment=Kas olete kindel, et soovite selle makse kustutada? -ConfirmConvertToReduc=Kas soovite selle %s konverteerida absoluutseks allahindluseks? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Summa salvestatakse kõigi allahindluste hulka ja seda saab kasutada selle kliendi jooksva või tulevase arve allahindlusena. -ConfirmConvertToReducSupplier=Kas soovite selle %s konverteerida absoluutseks allahindluseks? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Tarnija maksed ReceivedPayments=Laekunud maksed @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Maksa ToMakePaymentBack=Maksa tagasi ListOfYourUnpaidInvoices=Maksmata arvete nimekiri NoteListOfYourUnpaidInvoices=Märkus: see nimekiri sisaldab vaid nende kolmandate isikute arveid, kelle jaoks Sa oled märgitud müügiesindajaks. -RevenueStamp=Maksumärk +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Tagastab numbri formaadiga %syymm-nnnn tavaliste arvete jaoks ja %syymm-nnnn kreeditarvete jaoks, kus yy on aasta, mm on kuu ja nnnn on katkestusteta jada, mis ei lähe kunagi 0 tagasi. @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Arve kustutatud +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/et_EE/blockedlog.lang b/htdocs/langs/et_EE/blockedlog.lang index 1da7967fe88..ac567943c5c 100644 --- a/htdocs/langs/et_EE/blockedlog.lang +++ b/htdocs/langs/et_EE/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/et_EE/cashdesk.lang b/htdocs/langs/et_EE/cashdesk.lang index c9c6fd87412..0a680f21d67 100644 --- a/htdocs/langs/et_EE/cashdesk.lang +++ b/htdocs/langs/et_EE/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Lisa see artikkel RestartSelling=Mine müümisel tagasi SellFinished=Sale complete PrintTicket=Trüki tšekk +SendTicket=Send ticket NoProductFound=Artiklit ei leitud ProductFound=toodet leitud NoArticle=Artiklid puuduvad @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Arveid Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Veebilehitseja BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/et_EE/companies.lang b/htdocs/langs/et_EE/companies.lang index 99c3f2219cf..7e172d130b8 100644 --- a/htdocs/langs/et_EE/companies.lang +++ b/htdocs/langs/et_EE/companies.lang @@ -2,16 +2,16 @@ ErrorCompanyNameAlreadyExists=Ettevõte nimega %s on juba olemas. Vali mõni muu. ErrorSetACountryFirst=Esmalt vali riik SelectThirdParty=Vali kolmas isik -ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information? +ConfirmDeleteCompany=Kas soovite kindlasti selle ettevõtte ja kogu päritud teabe kustutada? DeleteContact=Kustuta kontakt/aadress -ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information? -MenuNewThirdParty=New Third Party -MenuNewCustomer=New Customer -MenuNewProspect=New Prospect -MenuNewSupplier=New Vendor +ConfirmDeleteContact=Kas soovite kindlasti selle kontakti ja kogu päritud teabe kustutada? +MenuNewThirdParty=Uus kolmas osapool +MenuNewCustomer=Uus klient +MenuNewProspect=Uus huviline +MenuNewSupplier=Uus tarnija MenuNewPrivateIndividual=Uus eraisik -NewCompany=New company (prospect, customer, vendor) -NewThirdParty=New Third Party (prospect, customer, vendor) +NewCompany=Uus ettevõte (huviline, klient, müüja) +NewThirdParty=Uus kolmas osapool (huviline, klient, müüja) CreateDolibarrThirdPartySupplier=Create a third party (vendor) CreateThirdPartyOnly=Uus kolmas isik CreateThirdPartyAndContact=Create a third party + a child contact @@ -25,7 +25,7 @@ ThirdPartyContact=Third-party contact/address Company=Ettevõte CompanyName=Ettevõtte nimi AliasNames=Hüüdnimi (ärinimi, kaubamärk, ...) -AliasNameShort=Alias Name +AliasNameShort=Varjunimi Companies=Ettevõtted CountryIsInEEC=Country is inside the European Economic Community PriceFormatInCurrentLanguage=Price display format in the current language and currency @@ -41,17 +41,17 @@ ThirdPartyCustomersWithIdProf12=Klient koos %s või %s ThirdPartySuppliers=Tarnijad ThirdPartyType=Third-party type Individual=Eraisik -ToCreateContactWithSameName=Will automatically create a contact/address with same information as the third party under the third party. In most cases, even if your third party is a physical person, creating a third party alone is enough. +ToCreateContactWithSameName=Loob automaatselt kontakti / aadressi, millel on sama teave kui kolmanda osapoole all. Enamikul juhtudel, isegi kui teie kolmas osapool on füüsiline isik, piisab ainult kolmanda osapoole loomisest. ParentCompany=Emaettevõte Subsidiaries=Tütarettevõtted -ReportByMonth=Report by month -ReportByCustomers=Report by customer +ReportByMonth=Aruanne kuude kaupa +ReportByCustomers=Kliendi aruanne ReportByQuarter=Aruanne määra alusel CivilityCode=Sisekorraeeskiri RegisteredOffice=Peakontor Lastname=Perekonnanimi Firstname=Eesnimi -PostOrFunction=Job position +PostOrFunction=Ametikoht UserTitle=Tiitel NatureOfThirdParty=Nature of Third party NatureOfContact=Nature of Contact @@ -78,18 +78,18 @@ Zip=Postiindeks Town=Linn Web=Veeb Poste= Ametikoht -DefaultLang=Language default +DefaultLang=Keele vaikeseade VATIsUsed=Sales tax used VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers -VATIsNotUsed=Sales tax is not used +VATIsNotUsed=Käibemaksu ei kasutata CopyAddressFromSoc=Copy address from third-party details ThirdpartyNotCustomerNotSupplierSoNoRef=Third party neither customer nor vendor, no available referring objects ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Third party neither customer nor vendor, discounts are not available -PaymentBankAccount=Payment bank account +PaymentBankAccount=Makse pangakonto OverAllProposals=Pakkumised OverAllOrders=Tellimused OverAllInvoices=Arved -OverAllSupplierProposals=Price requests +OverAllSupplierProposals=Hinnapäringud ##### Local Taxes ##### LocalTax1IsUsed=Kasuta teist maksu LocalTax1IsUsedES= RE on kasutuses @@ -98,9 +98,9 @@ LocalTax2IsUsed=Kasuta kolmandat maksu LocalTax2IsUsedES= IRPF on kasutuses LocalTax2IsNotUsedES= IRPF pole kasutuses WrongCustomerCode=Vigane kliendi kood -WrongSupplierCode=Vendor code invalid +WrongSupplierCode=Tarnija kood on vale CustomerCodeModel=Kliendi koodi mudel -SupplierCodeModel=Vendor code model +SupplierCodeModel=Tarnija koodimudel Gencod=Vöötkood ##### Professional ID ##### ProfId1Short=Reg nr 1 @@ -108,7 +108,7 @@ ProfId2Short=Reg nr 2 ProfId3Short=Reg nr 3 ProfId4Short=Reg nr 4 ProfId5Short=Reg nr 5 -ProfId6Short=Prof. id 6 +ProfId6Short=Reg nr 6 ProfId1=Registrikood ProfId2=Registrikood 2 ProfId3=Registrikood 3 @@ -263,8 +263,8 @@ ProfId1DZ=RC ProfId2DZ=Art. ProfId3DZ=NIF ProfId4DZ=NIS -VATIntra=VAT ID -VATIntraShort=VAT ID +VATIntra=KMKR number +VATIntraShort=KMKR number VATIntraSyntaxIsValid=Süntaks on kehtiv VATReturn=VAT return ProspectCustomer=Huviline/klient @@ -292,8 +292,8 @@ CustomerAbsoluteDiscountMy=Absolute customer discounts (granted by yourself) SupplierAbsoluteDiscountAllUsers=Absolute vendor discounts (entered by all users) SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) DiscountNone=Pole -Vendor=Vendor -Supplier=Vendor +Vendor=Tarnija +Supplier=Tarnija AddContact=Uus kontakt AddContactAddress=Uus kontakt/aadress EditContact=Muuda kontakti @@ -301,31 +301,30 @@ EditContactAddress=Muuda kontakti/aadressi Contact=Kontakt ContactId=Contact id ContactsAddresses=Kontaktid/aadressid -FromContactName=Name: +FromContactName=Nimi: NoContactDefinedForThirdParty=Antud kolmanda isikuga pole ühtki kontakti seotud NoContactDefined=Kontakti pole määratud DefaultContact=Vaikimisi kontakt/aadress -ContactByDefaultFor=Default contact/address for +ContactByDefaultFor=Vaikekontakti / aadress AddThirdParty=Uus kolmas isik DeleteACompany=Kustuta ettevõte PersonalInformations=Isikuandmed AccountancyCode=Accounting account -CustomerCode=Customer Code -SupplierCode=Vendor Code -CustomerCodeShort=Customer Code -SupplierCodeShort=Vendor Code -CustomerCodeDesc=Customer Code, unique for all customers -SupplierCodeDesc=Vendor Code, unique for all vendors +CustomerCode=Kliendi kood +SupplierCode=Tarnija kood +CustomerCodeShort=Kliendi kood +SupplierCodeShort=Tarnija kood +CustomerCodeDesc=Kliendi kood, unikaalne igal kliendil +SupplierCodeDesc=Tarnija kood, unikaalne igal kliendil RequiredIfCustomer=Nõutud, kui kolmas isik on klient või huviline RequiredIfSupplier=Required if third party is a vendor ValidityControledByModule=Validity controlled by module -ThisIsModuleRules=Rules for this module +ThisIsModuleRules=Selle mooduli reeglid ProspectToContact=Huviline, kellega ühendust võtta CompanyDeleted=Ettevõte "%s" on andmebaasist kustutatud. ListOfContacts=Kontaktide/aadresside nimekiri ListOfContactsAddresses=Kontaktide/aadresside nimekiri -ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party +ListOfThirdParties=Kolmandate osapoolte nimekiri ShowContact=Näita kontakti ContactsAllShort=Kõik (filtrita) ContactType=Kontakti liik @@ -340,7 +339,7 @@ NoContactForAnyProposal=See kontakt ei ole ühegi pakkumisega seotud NoContactForAnyContract=See kontakt ei ole ühegi lepinguga seotud NoContactForAnyInvoice=See kontakt ei ole ühegi arvega seotud NewContact=Uus kontaktisik -NewContactAddress=New Contact/Address +NewContactAddress=Uus kontakt/aadress MyContacts=Minu kontaktid Capital=Kapital CapitalOf=%s kapital @@ -354,7 +353,7 @@ VATIntraManualCheck=You can also check manually on the European Commission websi ErrorVATCheckMS_UNAVAILABLE=Kontrollida pole võimalik. Kontrolli, et liikmesriik (%s) võimaldab teenust kasutada. NorProspectNorCustomer=Not prospect, nor customer JuridicalStatus=Legal Entity Type -Staff=Employees +Staff=Töötajad ProspectLevelShort=Potentsiaalne ProspectLevel=Huvilise potentsiaal ContactPrivate=Era- @@ -375,19 +374,19 @@ TE_MEDIUM=Keskmise suurusega ettevõte TE_ADMIN=Valitsusasutus TE_SMALL=Väikeettevõte TE_RETAIL=Jaemüüja -TE_WHOLE=Wholesaler +TE_WHOLE=Hulgimüüja TE_PRIVATE=Eraisik TE_OTHER=Muu StatusProspect-1=Ära kontakteeru StatusProspect0=Pole kunagi kontakteerutud -StatusProspect1=To be contacted +StatusProspect1=Tuleb ühendust võtta StatusProspect2=Kontakteerumine teoksil StatusProspect3=Kontakteerumine lõpetatud -ChangeDoNotContact=Muuda staatuseks "Ära kontakteeru" -ChangeNeverContacted=Muuda staatuseks "Pole kunagi kontakteerutud" -ChangeToContact=Change status to 'To be contacted' -ChangeContactInProcess=Muuda staatuseks "Kontakteerumine teoksil" -ChangeContactDone=Muuda staatuseks "Kontakteerumine teostatud" +ChangeDoNotContact=Muuda staatuseks 'Ära kontakteeru' +ChangeNeverContacted=Muuda staatuseks 'Pole kunagi kontakteerutud' +ChangeToContact=Muuda staatuseks 'Tuleb ühendust võtta' +ChangeContactInProcess=Muuda staatuseks 'Kontakteerumine teoksil' +ChangeContactDone=Muuda staatuseks 'Kontakteerumine teostatud' ProspectsByStatus=Huvilised staatuse järgi NoParentCompany=Mitte ükski ExportCardToFormat=Ekspordi kaart formaati @@ -404,15 +403,15 @@ PriceLevel=Price Level PriceLevelLabels=Price Level Labels DeliveryAddress=Tarneaadress AddAddress=Lisa aadress -SupplierCategory=Vendor category +SupplierCategory=Tarnija kategooria JuridicalStatus200=Sõltumatu DeleteFile=Kustuta fail ConfirmDeleteFile=Oled sa kindel, et soovid selle faili kustutada? AllocateCommercial=Assigned to sales representative Organization=Organisatsioon -FiscalYearInformation=Fiscal Year +FiscalYearInformation=Eelarveaasta FiscalMonthStart=Majandusaasta esimene kuu -SocialNetworksInformation=Social networks +SocialNetworksInformation=Sotsiaalvõrgud SocialNetworksFacebookURL=Facebook URL SocialNetworksTwitterURL=Twitter URL SocialNetworksLinkedinURL=Linkedin URL @@ -421,25 +420,25 @@ SocialNetworksYoutubeURL=Youtube URL SocialNetworksGithubURL=Github URL YouMustAssignUserMailFirst=You must create an email for this user prior to being able to add an email notification. YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party -ListSuppliersShort=List of Vendors -ListProspectsShort=List of Prospects -ListCustomersShort=List of Customers -ThirdPartiesArea=Third Parties/Contacts -LastModifiedThirdParties=Last %s modified Third Parties -UniqueThirdParties=Total of Third Parties +ListSuppliersShort=Tarnijate nimekiri +ListProspectsShort=Huviliste nimekiri +ListCustomersShort=Klientide nimekiri +ThirdPartiesArea=Kolmandad isikud/Kontaktid +LastModifiedThirdParties=Viimati muudetud %s kolmandad isikud +UniqueThirdParties=Kolmandaid isikuid kokku InActivity=Ava ActivityCeased=Suletud -ThirdPartyIsClosed=Third party is closed -ProductsIntoElements=List of products/services into %s +ThirdPartyIsClosed=Kolmas osapool on suletud +ProductsIntoElements=Toodete / teenuste loetelu %s CurrentOutstandingBill=Hetkel maksmata summa OutstandingBill=Suurim võimalik maksmata arve OutstandingBillReached=Max. for outstanding bill reached -OrderMinAmount=Minimum amount for order +OrderMinAmount=Minimaalne tellimuse summa MonkeyNumRefModelDesc=Return a number with the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=Kood on vaba, seda saab igal ajal muuta. ManagingDirectors=Haldaja(te) nimi (CEO, direktor, president...) MergeOriginThirdparty=Duplicate third party (third party you want to delete) -MergeThirdparties=Merge third parties +MergeThirdparties=Kolmandate osapoolte ühendamine ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one? All linked objects (invoices, orders, ...) will be moved to current third party, then the third party will be deleted. ThirdpartiesMergeSuccess=Third parties have been merged SaleRepresentativeLogin=Login of sales representative @@ -447,9 +446,10 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports -PaymentTypeCustomer=Payment Type - Customer -PaymentTermsCustomer=Payment Terms - Customer +PaymentTypeCustomer=Makse tüüp - klient +PaymentTermsCustomer=Maksetingimused - klient PaymentTypeSupplier=Payment Type - Vendor PaymentTermsSupplier=Payment Term - Vendor PaymentTypeBoth=Payment Type - Customer and Vendor diff --git a/htdocs/langs/et_EE/compta.lang b/htdocs/langs/et_EE/compta.lang index 7b481d6ec18..51037afab90 100644 --- a/htdocs/langs/et_EE/compta.lang +++ b/htdocs/langs/et_EE/compta.lang @@ -78,15 +78,15 @@ MenuNewSocialContribution=New social/fiscal tax NewSocialContribution=New social/fiscal tax AddSocialContribution=Add social/fiscal tax ContributionsToPay=Social/fiscal taxes to pay -AccountancyTreasuryArea=Billing and payment area +AccountancyTreasuryArea=Arveldused ja maksed NewPayment=Uus makse PaymentCustomerInvoice=Müügiarve makse -PaymentSupplierInvoice=vendor invoice payment +PaymentSupplierInvoice=Ostuarve makse PaymentSocialContribution=Social/fiscal tax payment PaymentVat=KM makse ListPayment=Maksete nimekiri ListOfCustomerPayments=Klientide maksete nimekiri -ListOfSupplierPayments=List of vendor payments +ListOfSupplierPayments=Tarnija maksete nimekiri DateStartPeriod=Perioodi alguse kuupäev DateEndPeriod=Perioodi lõpu kuupäev newLT1Payment=New tax 2 payment @@ -106,7 +106,7 @@ VATPayments=Sales tax payments VATRefund=Sales tax refund NewVATPayment=New sales tax payment NewLocalTaxPayment=New tax %s payment -Refund=Refund +Refund=Tagasimakse SocialContributionsPayments=Social/fiscal taxes payments ShowVatPayment=Näita käibemaksu makset TotalToPay=Kokku maksta @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Näidatud summad sisaldavad kõiki makse -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index 1c9d5419603..caaab19cf77 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Fail ei jõudnud täielikult serverisse. ErrorNoTmpDir=Ajutist kausta %s ei ole olemas. ErrorUploadBlockedByAddon=PHP/Apache pistik blokeeris üleslaadimise. ErrorFileSizeTooLarge=Fail on liiga suur. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Liiga pikk täisarvu tüübi jaoks (maksimaalselt %s numbrit) ErrorSizeTooLongForVarcharType=Liiga pikk sõne tüübi jaoks (maksimaalselt %s tähemärki) ErrorNoValueForSelectType=Palun sisesta nimekirja väärtused @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/et_EE/install.lang b/htdocs/langs/et_EE/install.lang index c09d2515759..4a90a8ebd5b 100644 --- a/htdocs/langs/et_EE/install.lang +++ b/htdocs/langs/et_EE/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Antud PHP poolt kasutatav sessiooni maksimaalne mälu on %s. See peaks olema piisav. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Kausta %s ei ole olemas. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/et_EE/link.lang b/htdocs/langs/et_EE/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/et_EE/link.lang +++ b/htdocs/langs/et_EE/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/et_EE/mails.lang b/htdocs/langs/et_EE/mails.lang index 124100ca5fc..3df50cb7057 100644 --- a/htdocs/langs/et_EE/mails.lang +++ b/htdocs/langs/et_EE/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informatsioon ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index 2cfc2cf6a14..47507ee7b1b 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -31,7 +31,7 @@ Translation=Tõlge EmptySearchString=Enter a non empty search string NoRecordFound=Kirjet ei leitud NoRecordDeleted=No record deleted -NotEnoughDataYet=Not enough data +NotEnoughDataYet=Pole piisavalt andmeid NoError=Vigu ei tekkinud Error=Viga Errors=Vead @@ -65,19 +65,19 @@ ErrorNoVATRateDefinedForSellerCountry=Viga: riigi '%s' jaoks ei ole käibemaksum ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. ErrorFailedToSaveFile=Viga: faili salvestamine ebaõnnestus. ErrorCannotAddThisParentWarehouse=You are trying to add a parent warehouse which is already a child of a existing warehouse -MaxNbOfRecordPerPage=Max. number of records per page -NotAuthorized=You are not authorized to do that. +MaxNbOfRecordPerPage=Maksimaalne kirjete arv ühel lehel +NotAuthorized=Teil pole selleks õigusi. SetDate=Sea kuupäev SelectDate=Vali kuupäev SeeAlso=Vaata lisaks %s SeeHere=Vaata siia ClickHere=Klõpsa siia -Here=Here +Here=Siin Apply=Rakenda BackgroundColorByDefault=Vaikimisi taustavärv -FileRenamed=The file was successfully renamed -FileGenerated=The file was successfully generated -FileSaved=The file was successfully saved +FileRenamed=Fail nimetati edukalt ümber +FileGenerated=Fail loodi edukalt +FileSaved=Fail salvestati edukalt FileUploaded=Fail on edukalt üles laetud FileTransferComplete=File(s) uploaded successfully FilesDeleted=File(s) successfully deleted @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Kontrolli ühendust ToClone=Klooni +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Kloonitavad andmed pole määratletud. Of=/ @@ -213,7 +214,7 @@ Parameter=Parameeter Parameters=Parameetrid Value=Väärtus PersonalValue=Isiklik väärtus -NewObject=New %s +NewObject=Uus %s NewValue=Uus väärtus CurrentValue=Praegune väärtus Code=Kood @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=Nimekirja vaade +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Tere GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/et_EE/other.lang b/htdocs/langs/et_EE/other.lang index b90544436d0..45f1f704e4f 100644 --- a/htdocs/langs/et_EE/other.lang +++ b/htdocs/langs/et_EE/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Tiitel WEBSITE_DESCRIPTION=Kirjeldus WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/et_EE/products.lang b/htdocs/langs/et_EE/products.lang index a84a75db6e5..1334c8a4108 100644 --- a/htdocs/langs/et_EE/products.lang +++ b/htdocs/langs/et_EE/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Päritolumaa -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Ühik p=u. diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index fa8050496d3..a95136a3c6f 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Aeg ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planeeritav koormus PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Esmalt peab projekti kinnitama -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Uus arve OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/et_EE/receiptprinter.lang b/htdocs/langs/et_EE/receiptprinter.lang index 105d6ae26db..243c2ee59e4 100644 --- a/htdocs/langs/et_EE/receiptprinter.lang +++ b/htdocs/langs/et_EE/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Arve viide +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/et_EE/stripe.lang b/htdocs/langs/et_EE/stripe.lang index bbac6d5d366..748df85ac20 100644 --- a/htdocs/langs/et_EE/stripe.lang +++ b/htdocs/langs/et_EE/stripe.lang @@ -32,6 +32,7 @@ VendorName=Müüja nim CSSUrlForPaymentForm=Maksmise vormi CSS stiililehtede URL NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/et_EE/users.lang b/htdocs/langs/et_EE/users.lang index d1dbbce4de2..df908040ddf 100644 --- a/htdocs/langs/et_EE/users.lang +++ b/htdocs/langs/et_EE/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domeeni kasutaja %s Reactivate=Aktiveeri uuesti CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Õigus on antud, kuna see pärineb mõnest grupist, kuhu kasutaja kuulub Inherited=Päritud UserWillBeInternalUser=Loodav kasutaja on sisemine kasutaja (kuna ei ole seotud mõne kolmanda isikuga) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/et_EE/website.lang b/htdocs/langs/et_EE/website.lang index 36c1396735d..e4e7e3df2e9 100644 --- a/htdocs/langs/et_EE/website.lang +++ b/htdocs/langs/et_EE/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index 5bda14433c6..c9419be95f2 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Oharra: zure PHP konfigurazioan ez da limiterik ezarri MaxSizeForUploadedFiles=Igotako fitxategien tamaina maximoa (0 fitxategiak igotzea ezgaitzeko) UseCaptchaCode=Sarrera orrian kode grafikoa (CAPTCHA) erabili -AntiVirusCommand= Biruskontrako komandoaren kokapen osoa -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Biruskontrako komandoaren kokapen osoa +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Kontabilitate moduluaren konfigurazia UserSetup=Erabiltzaileen kudeaketaren konfigurazioa MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Demo-an ezgaitutako aukera FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Aktibatu on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/eu_ES/bills.lang b/htdocs/langs/eu_ES/bills.lang index 10f4d1b487c..394296e5cce 100644 --- a/htdocs/langs/eu_ES/bills.lang +++ b/htdocs/langs/eu_ES/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Ordainketak PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Ordainketa ezabatu ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Jasotako ordainketak @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/eu_ES/blockedlog.lang b/htdocs/langs/eu_ES/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/eu_ES/blockedlog.lang +++ b/htdocs/langs/eu_ES/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/eu_ES/cashdesk.lang b/htdocs/langs/eu_ES/cashdesk.lang index f18207ff5d1..13240b9b76e 100644 --- a/htdocs/langs/eu_ES/cashdesk.lang +++ b/htdocs/langs/eu_ES/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/eu_ES/companies.lang b/htdocs/langs/eu_ES/companies.lang index b5af0e3f49c..dc4f4bcc2c2 100644 --- a/htdocs/langs/eu_ES/companies.lang +++ b/htdocs/langs/eu_ES/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/eu_ES/compta.lang b/htdocs/langs/eu_ES/compta.lang index ab097bae3e3..2d8e20c7ec2 100644 --- a/htdocs/langs/eu_ES/compta.lang +++ b/htdocs/langs/eu_ES/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/eu_ES/link.lang b/htdocs/langs/eu_ES/link.lang index 35732927962..d3a0fc9370e 100644 --- a/htdocs/langs/eu_ES/link.lang +++ b/htdocs/langs/eu_ES/link.lang @@ -8,3 +8,4 @@ LinkRemoved=%s esteka ezabatua izan da ErrorFailedToDeleteLink= Ezin izan da '%s' esteka ezabatu ErrorFailedToUpdateLink= Ezin izan da '%s' esteka berritu URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/eu_ES/mails.lang b/htdocs/langs/eu_ES/mails.lang index b5947e9b94d..3c35c12be7a 100644 --- a/htdocs/langs/eu_ES/mails.lang +++ b/htdocs/langs/eu_ES/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informazioa ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index 16b1a073b36..c46d4569b13 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/eu_ES/other.lang b/htdocs/langs/eu_ES/other.lang index 28e88cf2a2f..83e9970fedc 100644 --- a/htdocs/langs/eu_ES/other.lang +++ b/htdocs/langs/eu_ES/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Deskribapena WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index 473c0b334b0..6cf471d7350 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index 7ff3b979bd9..51753eb8d14 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/eu_ES/receiptprinter.lang b/htdocs/langs/eu_ES/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/eu_ES/receiptprinter.lang +++ b/htdocs/langs/eu_ES/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/eu_ES/stripe.lang b/htdocs/langs/eu_ES/stripe.lang index da7fcd95ebd..4696e5b8128 100644 --- a/htdocs/langs/eu_ES/stripe.lang +++ b/htdocs/langs/eu_ES/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/eu_ES/users.lang b/htdocs/langs/eu_ES/users.lang index b61662c49ce..2d4f828a737 100644 --- a/htdocs/langs/eu_ES/users.lang +++ b/htdocs/langs/eu_ES/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/eu_ES/website.lang b/htdocs/langs/eu_ES/website.lang index 73ffbc30aa4..edc9561faea 100644 --- a/htdocs/langs/eu_ES/website.lang +++ b/htdocs/langs/eu_ES/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index 4da03d6d6b7..48a9b656aa4 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=نکته: پیکربندی PHP شما حداکث NoMaxSizeByPHPLimit=توجه: هیچ محدودیتی در پیکربندی PHP شما وجود ندارد MaxSizeForUploadedFiles=حداکثر اندازۀ فایل بارگذاری شده ( برای عدم اجازۀ ارسال فایل عدد 0 را وارد نمائید) UseCaptchaCode=استفاده از کدهای گرافیکی (CAPTCHA) در صفحۀ ورود -AntiVirusCommand= مسیر کامل خط‌فرمان ویروس‌کش -AntiVirusCommandExample= مثال برای ClamWin این نشانی: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    برای ClamAv این نشانی: /usr/bin/clamscan +AntiVirusCommand=مسیر کامل خط‌فرمان ویروس‌کش +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= پارامترهای بیشتر در خط فرمان -AntiVirusParamExample= مثال برای ClamWin به این شکل : --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=برپاسازی واحد حساب‌داری UserSetup=برپاسازی مدیریت کاربر MultiCurrencySetup=برپاسازی چندگانگی-واحدپولی @@ -199,7 +199,7 @@ FeatureDisabledInDemo=ویژگی غیرفعال در نسخۀ نمایشی FeatureAvailableOnlyOnStable=این ویژگی فقط در نسخه‌های رسمی پایدار در دسترس است BoxesDesc=وسایل یا widgets اجزائی هستند که به شما اطلاعاتی برای شخصی‌سازی برخی صفحات نمایش می‌دهند.شما می‌توانید برای نمایش یا عدم نمایش این وسیله در صفحۀ مورد نظر صفحۀ هدف را انتخاب کرده و کلید "فعال‌سازی" را فشار دهید، یا این‌که بر روی سطل‌آشغال کلیک کرده یا آن را فعال نمائید. OnlyActiveElementsAreShown=تنها عناصیر مربوط به واحد‌های فعال نمایش داده می‌شوند. -ModulesDesc=این واحد‌ها/برنامه‌ها تعیین می‌کنند کدام قابلیت‌ها در نرم‌افزار فعال شوند. برخی واحد‌ها نیازمند مجوزدادن به کاربرن هستند تا امکان دسترسی به آن‌ها فراهم باشد. (در انتهای سطر مربوط به واحد) روی کلید روش/خاموش کلیک کنید تا واحد/برنامۀ مورد نظر را فعال/غیرفعال نمائید. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=می‌توانید واحد‌های بیشتری برای دریافت در سایت‌های موجود روی اینترنت پیدا کنید... ModulesDeployDesc=اگر مجوزهای موجود روی سرویس‌دهندۀ شما اجازه دهد، شما می‌توانید این ابزار را برای به کار گرفتن یک واحد بیرونی استفاده نمائید. این واحد در زبانۀ %s قابل نمایش خواهد بود. ModulesMarketPlaces=پیدا کردن واحد‌ها/برنامه‌های بیرونی @@ -212,6 +212,7 @@ CompatibleUpTo=سازگار با نسخۀ %s NotCompatible=به نظر نمی‌رسد این واحد با نسخۀ %s Dolibarr  نصب شده سازگار باشد (سازگاری حداقل با %s و حداکثر با %s ). CompatibleAfterUpdate=این واحد نیازمند روزآمدسازی Dolibarr نسخۀ %s است (حداقل %s - حداکثر %s) SeeInMarkerPlace=نمایش در بازارچه +SeeSetupOfModule=See setup of module %s Updated=روزآمد شده Nouveauté=تازگی AchatTelechargement=خرید / بارگیری @@ -221,6 +222,7 @@ DoliPartnersDesc=فهرست شرکت‌هائی که واحد‌ها یا قاب WebSiteDesc=سایت‌های دیگر برای واحد‌های افزودنی (غیر هسته‌) دیگر... DevelopYourModuleDesc=چند راه برای توسعه دادن و ایجاد واحد دل‌خواه.... URL=نشانی‌اینترنتی +RelativeURL=Relative URL BoxesAvailable=وسایل در دسترس BoxesActivated=وسایل فعال شده ActivateOn=فعال کردن در @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=برای استفاده از مقدار پیش‌فرض چ DefaultLink=پیوند پیش‌فرض SetAsDefault=ثبت پیش‌فرض ValueOverwrittenByUserSetup=هشدار! این مقدار ممکناست با تغییر تنظیمات برپاسازی کاربر بازنویسی شود (هر کاربر می‌تواند نشانی مخصوص به خود را برای clicktodial تولید کند) -ExternalModule=واحد خارجی - نصب شده در پوشه %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=ایجاد دستجمعی بارکد برای اشخاص‌سوم BarcodeInitForProductsOrServices=ایجاد یا بازسازی بارکد برای محصولات یا خدمات CurrentlyNWithoutBarCode=در حال حاضر شما %s ردیف در %s %s دارید که برای آن‌ها بارکد تعریف نشده. @@ -947,7 +950,7 @@ DictionaryCanton=ایالت‌ها/استان‌ها DictionaryRegion=مناطق DictionaryCountry=کشورها DictionaryCurrency=واحد پول -DictionaryCivility=عنوان اجتماعی +DictionaryCivility=Honorific titles DictionaryActions=انواع برگزاری جلسات DictionarySocialContributions=انواع مالیات‌های اجتماعی یا مالیات‌های مرتبط با سیاست‌های مالی DictionaryVAT=نرخ مالیات‌بر‌ارزش‌افزوده یا مالیات‌بر‌فروش @@ -988,6 +991,7 @@ VATIsNotUsedDesc=مالیات بر فروش مطروحه به طور پیش‌ VATIsUsedExampleFR=در فرانسه، به این معناست که شرکت‌ها و موسسات یک سامانۀ سیاست‌مالی حقیقی دارند (حقیقی ساده یا حقیقی عادی). سامانه‌ای که در آن مالیات بر ارزش افزوده تعریف می‌شود. VATIsNotUsedExampleFR=در فرانسه، این بدان معناست که مؤسساتی که برای آن‌ها مالیات بر فروش تعریف نشده یا شرکت‌ها، سازمان‌ها یا مشاغل آزادی که سامانۀ سیاست مالی ریزسازمانی برگزیده‌اند (مالیات بر فروش طی فرانچایز-فرداد-حق‌امتیاز) و بدون تعریف مالیات برفروش مبلغ مالیات فروش فرانچایز را پرداخت کرده‌اند. این انتخاب به صورت مراجع "مالیات بر فروش اختصاص داده نمی‌شود - art-293B of CGI" در صورت‌حساب نمایش داده خواهد شد. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=نرخ LocalTax1IsNotUsed=آیا مالیات دوم استفاده نشود LocalTax1IsUsedDesc=استفاده از نوع دوم مالیات (غیر از نوع اول) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=نرخ پیش‌فرض IRPF در هنگام ساخت مش LocalTax2IsNotUsedDescES=به طور پیش‌فرض IRPF  مطروحه برابر با 0 است. پایان قاعده. LocalTax2IsUsedExampleES=در اسپانیا، خوداشتغالان، و متخصصین مستقل که ارائه دهندۀ خدمات هستند و شرکت‌هائی که سامانۀ مالیاتی modules را برگزیده‌اند. LocalTax2IsNotUsedExampleES=در اسپانیا مشاغلی هستند که درسامانۀ مالیاتی modules موضوعیت ندارند. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=گزارش مالیات‌های محلی CalcLocaltax1=فروش‌ها - خرید‌ها CalcLocaltax1Desc=گزارش مالیات‌های محلی با محاسبۀ تفاوت مالیات‌برفروش محلی و مالیات‌‌برخرید محلی به دست می‌آید @@ -1018,6 +1025,7 @@ CalcLocaltax2=خریدها CalcLocaltax2Desc=گزارش مالیات‌های محلی جمع مالیات‌برفروش‌های محلی است CalcLocaltax3=فروش‌ها CalcLocaltax3Desc=گزارش مالیات محلی جمع مالیات‌برفروش محلی است +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=این برچسب در حالتی که هیچ ترجمه‌ای برای کد یافت نشود استفاده خواهد شد LabelOnDocuments=برچسب روی مستندات LabelOrTranslationKey=برچسب یا کلید ترجمه @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=گزارش‌هزینه‌های منتظر ت Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=پیش از شروع استفاده از Dolibarr ابتدا باید مقادیر مختلفی را تعریف کنید و واحد‌های مختلف فعال/پیکربندی شوند SetupDescription2=دو واحد بعدی الزامی هستند (دو ورودی اول در فهرست برپاسازی): -SetupDescription3=%s->%s
    مؤلفه‌های بنیادین مورد استفاده برای تعیین‌ رفتار پیش‌فرض برنامۀ شما (مثلا برای قابلیت‌های مربوط به کشور). -SetupDescription4=%s->%s
    این نرم‌افزار مجموعه‌ای از برنامه‌ها/واحدهای متنوع است که همگی کم و بیش از یکدیگر مستقل هستند. واحدهای مربوط به نیاز شما باید فعال و پیکربندی شوند. با فعال کردن این واحدها گزینه‌ها/عناوین مربوطه به فهرست‌ها اضافه خواهد شد. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=سایر عناوین فهرست برپاسازی برای مدیریت مقادیر اختیاری. LogEvents=رویدادهای بازرسی امنیتی Audit=بازرسی @@ -1128,7 +1136,7 @@ LogEventDesc=فعال کردن گزارش‌گیری برای روی‌داده AreaForAdminOnly=مقادیر برپاسازی تنها توسط کاربران مدیر قابل تنظیم است. SystemInfoDesc=اطلاعات سامانه، اطلاعاتی فنی است که در حالت فقط خواندنی است و تنها برای مدیران قابل نمایش است. SystemAreaForAdminOnly=این ناحیه تنها برای کاربران مدیر در دسترس است. مجوزهای کاربران Dolibarr  این محدودیت‌ها را تغییر نمی‌دهد. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=در صورتی‌که شما یک حساب‌دار/دفتردار بیرونی دارید، می‌توانید اطلاعات وی را این‌جا ویرایش نمائید AccountantFileNumber=کد حساب‌دار DisplayDesc=مقادیری که بر شکل و رفتار Dolibarr اثرگذارند از این‌جا قابل تغییرند. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=قواعد تولید و اعتبارسنجی گذرو DisableForgetPasswordLinkOnLogonPage=در صفحۀ ورود پیوند "فراموشی گذرواژه" نمایش داده نشود UsersSetup=برپاسازی واحد کاربران UserMailRequired=برای ایجاد یک کاربر جدید یک رایانامه لازم است +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=برپاسازی واحد مدیریت منابع انسانی ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=شکل مستندهای صورت‌حساب BillsPDFModulesAccordindToInvoiceType=شکل مستندهای صورت‌حساب با توجه به نوع صورت‌حساب PaymentsPDFModules=شکل مستندات پرداخت ForceInvoiceDate=الزام تاریخ صورت‌حساب به تاریخ تائیداعتبار -SuggestedPaymentModesIfNotDefinedInInvoice=حالت‌های پیشنهادی و پیش‌فرض پرداخت در صورت‌حساب در صورتی که تعیین نشده باشد +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=پیشنهاد پرداخت در صرف‌نظر کردن از حساب SuggestPaymentByChequeToAddress=پیشنهاد پرداخت با چک به FreeLegalTextOnInvoices=متن دل‌خواه بر روی صورت‌حساب‌ها @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=برپاسازی پرداخت‌های فروشندگان PropalSetup=راه اندازی ماژول طرح های تجاری ProposalsNumberingModules=مدل شماره طرح تجاری ProposalsPDFModules=شکل‌های مستندات پیشنهاد‌های تجاری -SuggestedPaymentModesIfNotDefinedInProposal=روش پرداخت پشنهادی پیش‌فرض در پیشنهاد در صورتی که در صفحۀ ایجاد آن تعریف نشده باشد +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=متن دل‌خواه بر روی پیشنهادات تجاری WatermarkOnDraftProposal=نقش پس‌زمینه بر روی پیشنهادات تجاری پیش‌نویس (هیچ در صورت خالی بودن) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=درخواست مقصد حساب‌بانکی پیشنهاد @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=پرسش انبار منبع در خصوص ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=پرسش حساب بانکی مقصد در مورد سفارش خرید ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=برپاسازی مدیریت سفارشات فروش OrdersNumberingModules=روش‌های شماره‌گذاری سفارشات OrdersModelModule=شکل‌های مستندات سفارش @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=هشدار! مقادیر بزرگ خر ModuleActivated=واحد %s فعال شده و باعث کاهش سرعت رابط کاربری می‌شود EXPORTS_SHARE_MODELS=اشکال صادارات با همگان به اشتراک گذاشته شدند ExportSetup=برپاسازی واحد صادرات +ImportSetup=Setup of module Import InstanceUniqueID=شناسۀ منحصر به‌فرد نمونه SmallerThan=کوچک‌تر از LargerThan=بزرگتر از @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/fa_IR/bills.lang b/htdocs/langs/fa_IR/bills.lang index 32d7c870906..1d081bbe11c 100644 --- a/htdocs/langs/fa_IR/bills.lang +++ b/htdocs/langs/fa_IR/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=صورت‌حاسب‌های فروشنده SupplierBill=صورت‌حساب فروشنده SupplierBills=صور‌ت‌حساب تامین‌کنندگان Payment=پرداخت -PaymentBack=برگشت پرداخت -CustomerInvoicePaymentBack=برگشت پرداخت +PaymentBack=بازپس‌گیری +CustomerInvoicePaymentBack=بازپس‌گیری Payments=پرداخت‌ها PaymentsBack=Refunds paymentInInvoiceCurrency=به واحد‌پولی صورت‌حساب PaidBack=پرداخت برگردانده شد DeletePayment=حذف پرداخت ConfirmDeletePayment=آیا مطمئنید که می‌خواهید این پرداخت را حذف کنید؟ -ConfirmConvertToReduc=آیا می‌خواهید این %s را به یک تخفیفت مطلق تبدیل کنید؟ +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=این مبلغ در میان همۀ تخفیف‌ها ذخیره خواهد شد و می‌تواند به‌عنوان یک صورت‌حساب فعلی یا آینده برای این مشتری مورد استفاده قرار گیرد. -ConfirmConvertToReducSupplier=آیا می‌خواهید این %s را به یک تخفیفت مطلق تبدیل کنید؟ +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=این مبلغ در میان همۀ تخفیف‌ها ذخیره خواهد شد و می‌تواند به‌عنوان یک صورت‌حساب فعلی یا آینده برای این فروشنده مورد استفاده قرار گیرد. SupplierPayments=پرداخت‌های فروشندگان ReceivedPayments=پول‌های دریافتی @@ -219,7 +219,10 @@ ShowInvoiceSituation=نمایش صورت‌حساب وضعیت UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=پرداخت ToMakePaymentBack=پس‌دادن‌پرداخت ListOfYourUnpaidInvoices=فهرست صورت‌حساب‌های پرداخت نشده NoteListOfYourUnpaidInvoices=نکته: این فهرست تنها دربردارندۀ صورت‌حساب‌های شخص‌سوم‌هائی است که شما آن‌ها را به‌عنوان نمایندۀ فروش پیوند کرده‌اید. -RevenueStamp=تمبر درآمد +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=این گزینه تنها وقتی فعال است که شما صورت‌حساب را از زبانۀ "مشتری" یک شخص سوم می‌سازید YouMustCreateInvoiceFromSupplierThird=این گزینه تنها وقتی فعال است که شما صورت‌حساب را از زبانۀ "فروشنده" یک شخص سوم می‌سازید YouMustCreateStandardInvoiceFirstDesc=شما باید ابتدا یک صورت‌حساب استاندارد ساخته و سپس آن را تبدیل به "قالب" کنید تا یک صورت‌حساب قالبی ساخته باشید -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=قالب PDF صورت‌حساب Sponge. یک قالب کامل صورت‌حساب PDFCrevetteDescription=قالب PDF صورت‌حساب Crevette. یک قالب کامل صورت‌حساب برای صورت‌حساب‌های وضعیت TerreNumRefModelDesc1=بازگرداندن عدد با شکل %syymm-nnnn برای صورت‌حساب‌های استاندارد و %syymm-nnnn برای یادداشت‌های اعتباری که در آن yy نمایندۀ سال، mm ماه و nnnn یک شمارنده بدون توقف و بدون بازگشت به 0 است @@ -575,3 +578,4 @@ AutoFillDateTo=تنظیم تاریخ پایان برای سطر خدمات با AutoFillDateToShort=تنظیم تاریخ پایان MaxNumberOfGenerationReached=حداکثر تعداد تولید به‌سررسیده BILL_DELETEInDolibarr=صورت‌حساب حذف شد +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/fa_IR/blockedlog.lang b/htdocs/langs/fa_IR/blockedlog.lang index 231855e54eb..116a6acbb42 100644 --- a/htdocs/langs/fa_IR/blockedlog.lang +++ b/htdocs/langs/fa_IR/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=گزارش‌کارهای غیرقابل‌تغییر ShowAllFingerPrintsMightBeTooLong=نمایش همۀ گزارش‌کار‌های بایگانی شده (ممکن است طولانی باشد) ShowAllFingerPrintsErrorsMightBeTooLong=نمایش همۀ گزارش‌کارهای نامعتبر بایگانی (ممکن است طولانی باشد) DownloadBlockChain=دریافت اثرانگشت‌ها -KoCheckFingerprintValidity=ورودی گزارش‌کاری بایگانی شده معتبر نیست. این به آن معناست که کس (یک هکر؟) بخشی از داده‌ها را پس از ذخیره دست‌کاری کرده است و یا ردیف‌های بایگانی‌های قدیمی را حذف کرده است. (بررسی کنید سطر با # پیشین وجود داشته باشد). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=ردیف گزارش‌کار بایگانی شده معتبر است. داده‌های این سطر ویرایش نشده و ورودی به‌دنبال ورودی قبل است. OkCheckFingerprintValidityButChainIsKo=گزارش‌کار بایگانی شده در قیاس با قبلی معتبر است اما زنجیره قبلا خراب شده است. AddedByAuthority=ذخیره شده برای مقام دوردست diff --git a/htdocs/langs/fa_IR/cashdesk.lang b/htdocs/langs/fa_IR/cashdesk.lang index ff05973a452..c9b346240f6 100644 --- a/htdocs/langs/fa_IR/cashdesk.lang +++ b/htdocs/langs/fa_IR/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=اضافه کردن این مقاله RestartSelling=بازگشت در فروش SellFinished=فروش تکمیل شد PrintTicket=چاپ بلیط +SendTicket=Send ticket NoProductFound=مقاله ای یافت نشد. ProductFound=محصول یافته شده NoArticle=هیچ مقاله ای یافت نشد @@ -48,6 +49,7 @@ Footer=پاورقی AmountAtEndOfPeriod=مبلغ در انتهای دوره (روز، ماه یا سال) TheoricalAmount=مبلغ نظری RealAmount=مقدار واقعی +CashFence=Cash fence CashFenceDone=حصار نقدی برای دوره تعیین شده NbOfInvoices=Nb و از فاکتورها Paymentnumpad=نوع بخش‌کناری @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS نیازمند کار با دسته‌بندی م OrderNotes=مرتب کردن یادداشت‌ها CashDeskBankAccountFor=حساب پیش‌فرض برای ذخیرۀ پرداخت‌ها NoPaimementModesDefined=در پیکربندی TakePOS هیچ حالت پرداختی تعریف نشده است -TicketVatGrouped=در قبض م.ب.ا.ا توسط نرخ گروه‌بندی شو -AutoPrintTickets=چاپ خودکار قبوض +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=فعال‌کردن موارد مربوط به کافه و رستوران ConfirmDeletionOfThisPOSSale=آیا مطمئن هستید می‌خواهید این فروش را حذف کنید؟ ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=مرورگر BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/fa_IR/companies.lang b/htdocs/langs/fa_IR/companies.lang index 5b6ec1024b6..46ef83419ac 100644 --- a/htdocs/langs/fa_IR/companies.lang +++ b/htdocs/langs/fa_IR/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted= شرکت "%s" از پایگاه داده حذف شد. ListOfContacts=فهرست طرف‌های‌تماس/نشانی‌ها ListOfContactsAddresses=فهرست طرف‌های‌تماس/نشانی‌ها ListOfThirdParties=فهرست شخص‌سوم‌ها -ShowCompany=نمایش شخص‌سوم ShowContact=نمایش طرف‌تماس ContactsAllShort=همه (بدون صافی) ContactType=نوع طرف‌تماس @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=نام نمایندۀ فروش SaleRepresentativeLastname=نام خانوادگی نمایندۀ فروش ErrorThirdpartiesMerge=در هنگام حذف شخص‌سوم‌ها یک اشکال پیش آمد. لطفا گزارش‌کار را ببینید. تغییرات انجام نشد. NewCustomerSupplierCodeProposed=کد فروشنده یا کد مشتری قبلا استفاده شده است، یک کد جدید پیشنهاد می‌شود +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=نوع پرداخت - مشتری PaymentTermsCustomer=شرایط پرداخت - مشتری diff --git a/htdocs/langs/fa_IR/compta.lang b/htdocs/langs/fa_IR/compta.lang index ff0da8dc752..530a5514a9f 100644 --- a/htdocs/langs/fa_IR/compta.lang +++ b/htdocs/langs/fa_IR/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=برای محاسبۀ پرداخت‌های حقیق SeeReportInDueDebtMode=برای محاسبۀ صورت‌حساب‌های ثبت شده که حتی هنوز در دفترکل حساب نشده‌اند به %sتحلیل صورت‌حساب‌ها %s نگاه کنید. SeeReportInBookkeepingMode=برای محاسبه‌ای بر روی جدول حساب‌داری دفترکل به %sگزارش حساب‌داری%s مراجعه کنید. RulesAmountWithTaxIncluded=- تمام مالیات‌ها در مقادیر نمایش داده شده، گنجانده شده‌اند -RulesResultDue=- این شامل همۀ صورت‌حساب‌های پرداخت‌نشده، هزینه‌ها، مالیات بر ارزش افزوده، کمک‌های مالی پرداخت شده و نشده است. همچنین شامل حقوق‌های پرداخت شده می‌باشد.
    - بسته به تاریخ تائید اعتبار در خصوص صورت‌حساب‌ها و مالیات بر ارزش افزوده و بر حسب تاریخ سررسید هزینه‌ها می‌باشد. برای حقوق‌هائی که در واحد حقوق‌ها تعریف شده است، از مقدار تاریخ پرداخت استفاده می‌شود. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- این شامل همۀ پرداخت‌های واقعی صورت‌حساب‌ها، هزینه‌ها، مالیات بر ارزش افزوده و حقوق‌ها است.
    - بر حسب تاریخ پرداخت صورت‌حساب‌ها، هزینه‌ها، مالیات بر ارزش افزوده و حقوق‌ها می‌باشد. تاریخ کمک‌مالی برای کمک‌های مالی -RulesCADue=- شامل صورت‌حساب‌های به موعد رسیدۀ مشتری، چه پرداخت شده باشند یا نه می‌باشد.
    این بر حسب تاریخ تائید اعتبار این صورت‌حساب‌ها است.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- شامل همۀ پرداخت‌های دریافت‌شدۀ مؤثر صورت‌حساب‌های مشتریان است.
    -این بسته به تاریخ پرداخت این صورت‌حساب‌هاست
    RulesCATotalSaleJournal=شامل همۀ سطور بستانکار دفترفروش‌روزانه است RulesAmountOnInOutBookkeepingRecord=شامل همۀ ردیف‌های دفترکل دارای حساب‌حساب‌داری است که در گروه‌های "هزینه" یا "درآمد" باشند @@ -255,3 +255,10 @@ TurnoverbyVatrate=گردش‌مالی صورت‌حساب‌شده بر حسب TurnoverCollectedbyVatrate=گردش‌مالی دریافت‌شده بر حسب نرخ مالیات بر فروش PurchasebyVatrate=خریدها بر اساس نرخ مالیات بر فروش LabelToShow=برچسب کوتاه +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index 8fba2849bbc..15b5c27c05d 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=فایل به طور کامل توسط سرور دریافت ن ErrorNoTmpDir=پوشۀ موقت %s وجود ندارد. ErrorUploadBlockedByAddon=امکان ارسال توسط یک افزونۀ PHP/Apache مسدود شده است ErrorFileSizeTooLarge=حجم فایل بسیار بزرگ است. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=برای این نوع عددصحیح اندازه بسیار بلند است (حداکثر %s رقم) ErrorSizeTooLongForVarcharType=برای این نوع رشتۀ حروقی اندازه بسیار بزرگ است (حداکثر %s نویسه) ErrorNoValueForSelectType=لطفا مقدار مربوط به فهرست انتخاب را وارد کنید @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=یک گذرواژه برای این عضو تنظیم شده است. با این‌حال هیچ حساب کاربری‌ای ساخته نشده است. بنابراین این گذرواژه برای ورود به Dolibarr قابل استفاده نیست. ممکن است برای یک رابط/واحد بیرونی قابل استفاده باشد، اما اگر شما نخواهید هیچ نام کاربری ورود و گذرواژه‌ای برای یک عضو استفاده کنید، شما می‌توانید گزینۀ "ایجاد یک نام‌ورد برای هر عضو" را از برپاسازی واحد اعضاء غیرفعال کنید. در صورتی که نیاز دارید که نام‌ورود داشته باشید اما گذرواژه نداشته باشید، می‌توانید این بخش را خالی گذاشته تا از این هشدار بر حذر باشید. نکته: همچنین نشانی رایانامه می‌تواند در صورتی که عضو به یک‌کاربر متصل باشد، می‌‌تواند مورد استفاده قرار گیرد diff --git a/htdocs/langs/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index 9444eb76c8f..40f4347659e 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=این PHP از Curl پشتیبان می‌کند. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=این PHP از توابع UTF8 پشتیبانی می‌کند. PHPSupportIntl=این PHP از توابع Intl پشتیبانی می‌کند +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=حداکثر حافظۀ اختصاص داده شده به نشست به %s تنظیم شده است. این باید کافی باشد. PHPMemoryTooLow=حداکثر حافظۀ مورد استفاده در یک نشست در PHP شما در حد %s بایت تنظیم شده است. این میزان بسیار کمی است. فایل php.ini را ویرایش نموده و مقدار memory_limit را حداقل برابر %s بایت تنظیم کنید @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=نسخۀ PHP نصب شدۀ شما از Curl پشتی ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=نسخۀ PHP نصب شدۀ شما از توابع UTF8 پشتیبانی نمی‌کند. Dolibarr نمی‌تواند به درستی کار کند. قبل از نصب Dolibarr این مشکل را حل کنید. ErrorPHPDoesNotSupportIntl=نسخۀ نصب شدۀ PHP شما از توابع Intl پشتیبانی نمی‌کند. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=پوشۀ %s وجود ندارد. ErrorGoBackAndCorrectParameters=به عقب برگردید و مقادیر را بررسی/اصلاح کنید. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=برنامه تلاش کرده است که خود YouTryInstallDisabledByFileLock=برنامه تلاش کرده است خود را ارتقا دهد، اما صفحات نصب/ارتقا به دلایل امنیتی غیر فعال شده است ( چون فایل قفل install.lock در پوشۀ documents دلیبار وجود دارد).
    ClickHereToGoToApp=برای مراجعه به برنامه این‌جا کلیک کنید ClickOnLinkOrRemoveManualy=روی پیوند مقابل کلیک کنید. اگر همیشه شما همین صفحه را می‌بینید شما باید فایل install.lock را از پوشۀ document حذف کرده یا تغییر نام دهید. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/fa_IR/link.lang b/htdocs/langs/fa_IR/link.lang index 130af3f943a..012040c2baa 100644 --- a/htdocs/langs/fa_IR/link.lang +++ b/htdocs/langs/fa_IR/link.lang @@ -8,3 +8,4 @@ LinkRemoved=پیوند %s برداشته شد ErrorFailedToDeleteLink= امکان حذف پیوند '%s' نبود ErrorFailedToUpdateLink= امکان روزآمدسازی پیوند '%s' نبود URLToLink=نشانی برای پیوند کردن +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/fa_IR/mails.lang b/htdocs/langs/fa_IR/mails.lang index 944ec850582..b25c03b7177 100644 --- a/htdocs/langs/fa_IR/mails.lang +++ b/htdocs/langs/fa_IR/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=اطلاعات ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index dfe1207edd1..cc1cc21575b 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=آزمایش اتصال ToClone=نسخه‌برداری +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=تاریخی که برای نسخه‌برداری مد نظر دارید: NoCloneOptionsSpecified=هیچ داده‌ای برای نسخه‌برداری پیدا نشد Of=از @@ -829,6 +830,8 @@ Gender=جنسیت Genderman=مرد Genderwoman=زن ViewList=نمای فهرستی +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=الزامی Hello=سلام GoodBye=خدانگهدار @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/fa_IR/other.lang b/htdocs/langs/fa_IR/other.lang index 975f18a065c..f374ef2619e 100644 --- a/htdocs/langs/fa_IR/other.lang +++ b/htdocs/langs/fa_IR/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=عنوان WEBSITE_DESCRIPTION=توصیف WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index 35c11214236..e7d131c8f2a 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=این ابزار نرخ مالیات بر ارزش ا MassBarcodeInit=تعریف دستجمعی بارکد MassBarcodeInitDesc=این صفحه می‌تواند برای تعریف بارکد اشیائی که برای آن‌ها بارکد تعریف نشده استفاده شود. قبل از استفاده، مطمئن شوید واحد بارکد به خوبی نصب و برپاسازی شده است. ProductAccountancyBuyCode=کد حساب‌داری (خرید) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=کد حساب‌داری (فروش) ProductAccountancySellIntraCode=کد حساب‌داری (فروش داخل جامعه‌ای-اروپا) ProductAccountancySellExportCode=کد حساب‌داری (فروش صادرات) @@ -165,7 +167,7 @@ SuppliersPrices=قیمت‌های فروشنده SuppliersPricesOfProductsOrServices=قیمت‌های فروشنده (مربوط به محصولات و خدمات) CustomCode=گمرک / کالا / کدبندی هماهنگ کالا CountryOrigin=کشور مبدا -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=برچسب کوتاه Unit=واحد p=واحد diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index 30cc3fbfbc8..5327af215ec 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=زمان ListOfTasks=فهرست وظایف GoToListOfTimeConsumed=رجوع به فهرست زمان صرف شده -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=نمای گانت ListProposalsAssociatedProject=فهرست پیشنهادهای تجاری مرتبط با طرح ListOrdersAssociatedProject=فهرست سفارش‌های فروش مربوط به طرح @@ -188,7 +186,7 @@ PlannedWorkload=حجم‌کار برنامه‌ریزی‌شده PlannedWorkloadShort=حجم‌کار ProjectReferers=موارد مربوط ProjectMustBeValidatedFirst=ابتدا باید طرح تائیداعتبار شود -FirstAddRessourceToAllocateTime=نسبت دادن منابع کاربر برای اختصاص زمان +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=ورودی در روز InputPerWeek=ورودی در هفته InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=آخرین %s طرح تغییر یافته OtherFilteredTasks=سایر وظایف گُزیده شده NoAssignedTasks=هیچ وظیفه‌ای نسبت داده نشده ( طرح/وظیفه را از بالا به کاربر فعلی نسبت دهید تا زمان را روی آن وارد کنید) ThirdPartyRequiredToGenerateInvoice=یک طرف سوم باید روی طرح تعریف شود تا امکان صورت‌حساب درست کردن برای آن وجود داشته باشد +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=اجازۀ یادداشت نویسی کاربران روی وظایف AllowCommentOnProject=امکان توضیح نویسی بر روی طرح‌ها @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=صورت‌حساب جدید OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/fa_IR/receiptprinter.lang b/htdocs/langs/fa_IR/receiptprinter.lang index d022c499690..c7a819dbe8a 100644 --- a/htdocs/langs/fa_IR/receiptprinter.lang +++ b/htdocs/langs/fa_IR/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=ارجاع صورت‌حساب +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=شناسۀ داخل-جامعه‌ای م.ب.ا.ا. -اروپا +DOL_VALUE_MYSOC_CAPITAL=سرمایه +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/fa_IR/stripe.lang b/htdocs/langs/fa_IR/stripe.lang index 2c086aeb584..aa5ed9a19f9 100644 --- a/htdocs/langs/fa_IR/stripe.lang +++ b/htdocs/langs/fa_IR/stripe.lang @@ -32,6 +32,7 @@ VendorName=نام فروشنده CSSUrlForPaymentForm=آدرس شیوه نامه CSS برای فرم پرداخت NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/fa_IR/users.lang b/htdocs/langs/fa_IR/users.lang index 909a1ebbb82..012f6b0d90a 100644 --- a/htdocs/langs/fa_IR/users.lang +++ b/htdocs/langs/fa_IR/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=کاربران و مشخصات آنها DomainUser=کاربر دامنه %s Reactivate=دوباره فعال کردن CreateInternalUserDesc=این برگه به شما امکان ایجاد یک کاربر داخلی در شرکت/مؤسسۀ شما را می‌دهد. برای ساخت یک کاربر خارجی (مشتری، فروشنده، غیره) از گزینۀ "ساخت کاربر Dolibarr" از برگۀ تماس شخص سوم وی اقدام نمائید. -InternalExternalDesc=یک کاربر داخلی کاربری است که عضوی از شرکت/سازمان است.
    یک کاربر خارجی یک مشتری، فروشنده یا از این دست است.

    در هر دو حالت، مجوزها، دسترسی‌های موجود در Dolibarr را تعریف خواهد کرد. همچنین کاربر خارجی می‌تواند مدیریت فهرست متفاوتی از کاربر داخلی داشته باشد (به خانه - برپاسازی - نمایش ) مراجعه نمائید. +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=اجازه‌ها اعطا شده زیرا از یک گروه‌کاربری ارث‌گرفته شده است Inherited=ارث‌گرفته UserWillBeInternalUser=کاربری که ایجاد می‌شود یک کاربر داخلی خواهد بود (زیرا به یک شخص‌سوم معین پیوند نشده است) @@ -110,3 +110,8 @@ UserLogged=کاربر وارد شده DateEmployment=تاریخ شروع استخدام DateEmploymentEnd=تاریخ پایان استخدام CantDisableYourself=شما نمی‌توانید ردیف کاربری خود را غیرفعال کنید +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/fa_IR/website.lang b/htdocs/langs/fa_IR/website.lang index 545ff8cf12e..5269bce74f7 100644 --- a/htdocs/langs/fa_IR/website.lang +++ b/htdocs/langs/fa_IR/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index 018aa0ec393..fbfd6d12524 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Huom:Nykyiset PHP-asetukset rajoittavat tiedosto NoMaxSizeByPHPLimit=Huom: Rajaa ei ole asetettu PHP-asetuksissa MaxSizeForUploadedFiles=Lähetettävien tiedostojen enimmäiskoko (0 estää lähetykset) UseCaptchaCode=Käytä graafista koodia (CAPTCHA) kirjautumissivulla -AntiVirusCommand= Virustorjuntaohjelman polku -AntiVirusCommandExample= Esim. ClamWin: C:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Esim. ClamAV: /usr/bin/clamscan +AntiVirusCommand=Virustorjuntaohjelman polku +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Lisää parametreja komentorivillä -AntiVirusParamExample= Esimerkki ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Kirjanpitomoduulin asetukset UserSetup=Käyttäjien hallinta-asetukset MultiCurrencySetup=Multi-valuutta asetukset @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Ominaisuus on poistettu käytöstä demossa FeatureAvailableOnlyOnStable=Ominaisuus käytettävissä vain virallisissa vakaissa versioissa BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Etsi ulkoisia sovelluksia/moduuleja @@ -212,6 +212,7 @@ CompatibleUpTo=Yhteensopiva version %s kanssa NotCompatible=Moduuli ei ole yhteensopiva Dolibarr - version %s kanssa. (Min %s - Max %s) CompatibleAfterUpdate=Moduuli vaatii Dolibarr - version %s päivittämisen. (Min %s - Max %s) SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Päivitetty Nouveauté=Novelty AchatTelechargement=Osta / Lataa @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=Osoite +RelativeURL=Relative URL BoxesAvailable=Widgetit saatavilla BoxesActivated=Widget aktivoitu ActivateOn=Aktivoi @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Pidä tyhjänä käyttääksesi oletusarvoa DefaultLink=Oletuslinkki SetAsDefault=Aseta oletukseksi ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=Ulkoinen moduuli - asennettu hakemistoon %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Alueiden DictionaryCountry=Maat DictionaryCurrency=Valuutat -DictionaryCivility=Siviilisääty +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=ALV- ja Myyntiveroprosentit @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Kurssi LocalTax1IsNotUsed=Älä käytä toista veroa LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Oletuksena ehdotettu IRPF on 0. Loppu sääntö. LocalTax2IsUsedExampleES=Espanjassa, freelancer ja itsenäisten ammatinharjoittajien, jotka tarjoavat palveluja ja yrityksiä, jotka ovat valinneet verojärjestelmän moduuleja. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Raportit paikallisista veroista CalcLocaltax1=Myynnit - Ostot CalcLocaltax1Desc=Paikallisten verojen raportit on laskettu paikallisverojen myyntien ja ostojen erotuksena @@ -1018,6 +1025,7 @@ CalcLocaltax2=Ostot CalcLocaltax2Desc=Veroraportit on laskettu hankintojen veroista CalcLocaltax3=Myynti CalcLocaltax3Desc=Veroraportit on laskettu myyntien veroista +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label käyttää oletusarvoisesti, jos ei ole käännös löytyy koodi LabelOnDocuments=Label asiakirjoihin LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Hyväksyttävissä olevat kuluraportit Delays_MAIN_DELAY_HOLIDAYS=Hyväksyttävissä olevat vapaa-anomukset SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security Audit tapahtumat Audit=Auditointi @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Järjestelmän tiedot ovat erinäiset tekniset tiedot saavat lukea vain tila ja näkyvissä vain järjestelmänvalvojat. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Käyttäjät moduuli setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Henkilöstöhallinta moduulin asetukset ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Laskun asiakirjojen malleja BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force laskun päivämäärästä validointiin päivämäärä -SuggestedPaymentModesIfNotDefinedInInvoice=Ehdotetut maksut tilassa lasku automaattisesti, jos ei ole määritetty lasku +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Laskun viesti @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Toimittajamaksujen asetukset PropalSetup=Kaupalliset ehdotuksia moduulin asetukset ProposalsNumberingModules=Kaupalliset ehdotus numerointiin modules ProposalsPDFModules=Kaupalliset ehdotus asiakirjojen malleja -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Tilaukset numerointiin modules OrdersModelModule=Tilaa asiakirjojen malleja @@ -1823,7 +1834,7 @@ MailToSendInvoice=Asiakkaiden laskut MailToSendShipment=Lähetykset MailToSendIntervention=Interventions MailToSendSupplierRequestForQuotation=Tarjouspyyntö -MailToSendSupplierOrder=Purchase orders +MailToSendSupplierOrder=Ostotilaukset MailToSendSupplierInvoice=Vendor invoices MailToSendContract=Sopimukset MailToThirdparty=Sidosryhmät @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Varoitus, suuremmat arvot hidastavat me ModuleActivated=Moduuli %son aktiivinen ja hidastaa ohjelmaa EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Vienti-moduulin asetukset +ImportSetup=Setup of module Import InstanceUniqueID=Instanssin ID SmallerThan=Pienempi kuin LargerThan=Suurempi kuin @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Ominaisuus ei käytettävissä kun moduuli Vastaanotto on aktiivinen EmailTemplate=Mallisähköposti EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/fi_FI/bills.lang b/htdocs/langs/fi_FI/bills.lang index c7e0beebf89..b13aef1031d 100644 --- a/htdocs/langs/fi_FI/bills.lang +++ b/htdocs/langs/fi_FI/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Toimittajien laskut SupplierBill=Vendor invoice SupplierBills=tavarantoimittajien laskut Payment=Maksu -PaymentBack=Maksun -CustomerInvoicePaymentBack=Maksun +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Maksut PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Takaisin maksu DeletePayment=Poista maksu ConfirmDeletePayment=Oletko varma, että haluat poistaa tämän suorituksen? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Maksut toimittajille ReceivedPayments=Vastaanotetut maksut @@ -219,7 +219,10 @@ ShowInvoiceSituation=Näytä tilannetilasku UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Maksa ToMakePaymentBack=Takaisin maksu ListOfYourUnpaidInvoices=Luettelo maksamattomista laskuista NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Revenue stamp +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -528,8 +531,8 @@ TypeContact_facture_external_BILLING=Asiakkaan lasku yhteystiedot TypeContact_facture_external_SHIPPING=Asiakas merenkulku yhteystiedot TypeContact_facture_external_SERVICE=Asiakaspalvelu ottaa yhteyttä TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice -TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact -TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact +TypeContact_invoice_supplier_external_BILLING=Toimittajan laskun kontakti +TypeContact_invoice_supplier_external_SHIPPING=Toimittajan toimitus kontakti TypeContact_invoice_supplier_external_SERVICE=Vendor service contact # Situation invoices InvoiceFirstSituationAsk=First situation invoice @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Lasku poistettu +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/fi_FI/blockedlog.lang b/htdocs/langs/fi_FI/blockedlog.lang index cc69e90c513..f9a07298706 100644 --- a/htdocs/langs/fi_FI/blockedlog.lang +++ b/htdocs/langs/fi_FI/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/fi_FI/cashdesk.lang b/htdocs/langs/fi_FI/cashdesk.lang index 5bbd311f27a..81fe61276e5 100644 --- a/htdocs/langs/fi_FI/cashdesk.lang +++ b/htdocs/langs/fi_FI/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Lisää tämä artikkeli RestartSelling=Mene takaisin myydä SellFinished=Myynti valmis PrintTicket=Tulosta lippu +SendTicket=Send ticket NoProductFound=Ei artikkeli löydetty ProductFound=Tuote löytyy NoArticle=Ei artikkeli @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb laskuista Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Selain BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/fi_FI/companies.lang b/htdocs/langs/fi_FI/companies.lang index 6bcc497776c..db7da866e5b 100644 --- a/htdocs/langs/fi_FI/companies.lang +++ b/htdocs/langs/fi_FI/companies.lang @@ -54,10 +54,10 @@ Firstname=Etunimi PostOrFunction=Asema UserTitle=Titteli NatureOfThirdParty=Sidosryhmän luonne -NatureOfContact=Nature of Contact +NatureOfContact=Yhteyshenkilön luonne Address=Osoite -State=Valtio / Lääni -StateCode=State/Province code +State=Postialue +StateCode=Postinumero StateShort=Valtio Region=Alue Region-State=Alue - Osavaltio @@ -79,7 +79,7 @@ Town=Postitoimipaikka Web=Kotisivut Poste= Asema DefaultLang=Oletuskieli -VATIsUsed=Myyntivero +VATIsUsed=Käytettävä myyntivero VATIsUsedWhenSelling=Määrittää sisällyttääkö sidosryhmä myyntiveron omien asiakkaidensa laskuun. VATIsNotUsed=Myyntivero ei käytössä CopyAddressFromSoc=Kopioi osoite sidosryhmän tiedoista @@ -100,7 +100,7 @@ LocalTax2IsNotUsedES= IRPF ei käytössä WrongCustomerCode=Asiakastunnus vihreellinen WrongSupplierCode=Toimittajan tunnus virheellinen CustomerCodeModel=Asiakastunnuksen malli -SupplierCodeModel=Vendor code model +SupplierCodeModel=Toimittajakoodin malli Gencod=Viivakoodi ##### Professional ID ##### ProfId1Short=Prof id 1 @@ -310,12 +310,12 @@ AddThirdParty=Luo sidosryhmä DeleteACompany=Poista yritys PersonalInformations=Henkilötiedot AccountancyCode=Kirjanpito tili -CustomerCode=Asiakastunnua +CustomerCode=Asiakastunnus SupplierCode=Toimittajatunnus -CustomerCodeShort=Asiakastunnua +CustomerCodeShort=Asiakastunnus SupplierCodeShort=Toimittajatunnus -CustomerCodeDesc=Customer Code, unique for all customers -SupplierCodeDesc=Vendor Code, unique for all vendors +CustomerCodeDesc=Asiakaskohtainen koodi, uniikki jokaiselle asiakkaalle +SupplierCodeDesc=Toimittajakohtainen koodi, uniikki jokaiselle toimittajalle RequiredIfCustomer=Vaaditaan, jos sidosryhmä on asiakas tai mahdollinen asiakas RequiredIfSupplier=Vaadittu jos sidosryhmä on toimittaja ValidityControledByModule=Validity controlled by module @@ -325,16 +325,15 @@ CompanyDeleted=Yritys " %s" poistettu tietokannasta. ListOfContacts=Yhteystietoluettelo ListOfContactsAddresses=Yhteystietoluettelo ListOfThirdParties=Sidosryhmäluettelo -ShowCompany=Näytä sidosryhmä ShowContact=Näytä yhteystiedot ContactsAllShort=Kaikki (Ei suodatinta) ContactType=Yhteystiedon tyyppi ContactForOrders=Tilauksen yhteystiedon ContactForOrdersOrShipments=Tilauksen tai lähetyksen yhteystiedot -ContactForProposals=Tarjouksen yhteystiedon -ContactForContracts=Sopimukset yhteystiedot +ContactForProposals=Tarjouksen yhteyshenkilö +ContactForContracts=Sopimuksen yhteyshenkilö ContactForInvoices=Laskut yhteystiedot -NoContactForAnyOrder=Tämä yhteyshenkilö ei ole yhteyttä mihinkään jotta +NoContactForAnyOrder=Tämä yhteyshenkilö ei ole yhteyshenkilönä yhdessäkään tilauksessa. NoContactForAnyOrderOrShipments=Tämä yhteystieto ei ole yhteystietona missään tilauksessa tai toimituksessa NoContactForAnyProposal=Tämä yhteys ei ole yhteyttä mihinkään kaupalliseen ehdotus NoContactForAnyContract=Tämä yhteys ei ole yhteyttä mihinkään sopimukseen @@ -345,7 +344,7 @@ MyContacts=Omat yhteystiedot Capital=Pääoma CapitalOf=%s:n pääoma EditCompany=Muokkaa yritystä -ThisUserIsNot=This user is not a prospect, customer or vendor +ThisUserIsNot=Tämä ei ole prospekti, asiakas tai toimittaja VATIntraCheck=Shekki VATIntraCheckDesc=ALV-tunnuksen täytyy sisältää maatunnus. Linkki %s käyttää European VAT checker service (VIES)  - palvelua ja tarvii internet-yhteyden Dolibarr-palvelimeen VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do @@ -353,7 +352,7 @@ VATIntraCheckableOnEUSite=Tarkasta ALV-tunnus E.U: n sivuilta VATIntraManualCheck=Voit tehdä tarkastuksen myös käsin E.U: n sivuilla %s ErrorVATCheckMS_UNAVAILABLE=Tarkistaminen ei mahdollista. Jäsenvaltio ei toimita tarkastuspalvelua ( %s). NorProspectNorCustomer=Ei mahdollinen asiakas eikä asiakas -JuridicalStatus=Legal Entity Type +JuridicalStatus=Yritysmuoto Staff=Työntekijät ProspectLevelShort=Potenttiaali ProspectLevel=Prospekti potentiaali @@ -363,7 +362,7 @@ ContactVisibility=Näkyvyys ContactOthers=Muu OthersNotLinkedToThirdParty=Toiset, jotka eivät liity kolmasosaa osapuoli ProspectStatus=Prospektin tila -PL_NONE=Aucun +PL_NONE=Ei mitään PL_UNKNOWN=Tuntematon PL_LOW=Matala PL_MEDIUM=Keskitaso @@ -399,16 +398,16 @@ ExportDataset_company_2=Contacts and their properties ImportDataset_company_1=Third-parties and their properties ImportDataset_company_2=Third-parties additional contacts/addresses and attributes ImportDataset_company_3=Sidosryhmien pankkitilit -ImportDataset_company_4=Third-parties Sales representatives (assign sales representatives/users to companies) +ImportDataset_company_4=Kolmansien osapuolten myyjät (lisää myyjät/käyttäjät yrityskohtaisesti) PriceLevel=Hintataso -PriceLevelLabels=Price Level Labels +PriceLevelLabels=Hintaryhmät DeliveryAddress=Toimitusosoite AddAddress=Lisää osoite -SupplierCategory=Vendor category +SupplierCategory=Toimittaja kategoria JuridicalStatus200=Itsenäinen DeleteFile=Poista tiedosto ConfirmDeleteFile=Oletko varma, että haluat poistaa tämän tiedoston? -AllocateCommercial=Liitä myyntiedustajaan +AllocateCommercial=Liitetty myyntiedustajaan Organization=Organisaatio FiscalYearInformation=Tilikausi FiscalMonthStart=Tilikauden aloituskuukausi @@ -419,14 +418,14 @@ SocialNetworksLinkedinURL=Linkedin URL SocialNetworksInstagramURL=Instagram URL SocialNetworksYoutubeURL=Youtube URL SocialNetworksGithubURL=Github URL -YouMustAssignUserMailFirst=You must create an email for this user prior to being able to add an email notification. +YouMustAssignUserMailFirst=Aseta sähköposti että voi lisätä sähköpostimuistukset käyttöön YouMustCreateContactFirst=Voidaksesi lisätä sähköposti muistutukset, täytyy ensin täyttää yhteystiedot sidosryhmän oikealla sähköpostiosoitteella ListSuppliersShort=Toimittajaluettelo ListProspectsShort=Luettelo mahdollisista asiakkaista ListCustomersShort=Asiakasluettelo ThirdPartiesArea=Sidosryhmät/yhteystiedot LastModifiedThirdParties=Last %s modified Third Parties -UniqueThirdParties=Total of Third Parties +UniqueThirdParties=Yhteensä sidosryhmiä InActivity=Avoinna ActivityCeased=Kiinni ThirdPartyIsClosed=Sidosryhmä on suljettu @@ -446,7 +445,8 @@ SaleRepresentativeLogin=Myyntiedustajan kirjautuminen SaleRepresentativeFirstname=Myyntiedustajan etunimi SaleRepresentativeLastname=Myyntiedustajan sukunimi ErrorThirdpartiesMerge=Sidosryhmän poistossa tapahtui virhe. Tarkista virhe lokitiedostosta. Muutoksia ei tehty -NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +NewCustomerSupplierCodeProposed=Tuotekoodi käytössä, käytä uutta koodia +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Maksutapa - Asiakas PaymentTermsCustomer=Maksuehdot - Asiakas diff --git a/htdocs/langs/fi_FI/compta.lang b/htdocs/langs/fi_FI/compta.lang index c193b43978e..88b914cd030 100644 --- a/htdocs/langs/fi_FI/compta.lang +++ b/htdocs/langs/fi_FI/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index f568deeb469..f2f1ba0fb15 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Tiedosto ei saanut kokonaan palvelimelta. ErrorNoTmpDir=Tilapäinen directy %s ei ole. ErrorUploadBlockedByAddon=Lähetä estetty PHP / Apache plugin. ErrorFileSizeTooLarge=Tiedoston koko on liian suuri. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Koko liian pitkä int tyyppi (%s merkkiä maksimi) ErrorSizeTooLongForVarcharType=Koko liian pitkä jono tyyppi (%s merkkiä maksimi) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index f01edcad905..03c084676eb 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Sinun PHP max istuntojakson muisti on asetettu %s. Tämän pitäisi olla tarpeeksi. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Sinun PHP asennuksesi ei tue Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Hakemiston %s ei ole olemassa. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/fi_FI/link.lang b/htdocs/langs/fi_FI/link.lang index e794e091a48..2db365c6329 100644 --- a/htdocs/langs/fi_FI/link.lang +++ b/htdocs/langs/fi_FI/link.lang @@ -8,3 +8,4 @@ LinkRemoved=%s linkki on poistettu ErrorFailedToDeleteLink= Linkin '%s' poisto ei onnistunut ErrorFailedToUpdateLink= Linkin '%s' päivitys ei onnistunut URLToLink=URL linkiksi +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/fi_FI/mails.lang b/htdocs/langs/fi_FI/mails.lang index 77d9cde2195..005cf01f18a 100644 --- a/htdocs/langs/fi_FI/mails.lang +++ b/htdocs/langs/fi_FI/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index e38ede431d7..779f8b5c519 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Testaa yhteys ToClone=Klooni +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Ei tietoja kloonata määritelty. Of=ja @@ -829,6 +830,8 @@ Gender=Sukupuoli Genderman=Mies Genderwoman=Nainen ViewList=Näytä lista +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Pakollinen Hello=Terve GoodBye=Näkemiin @@ -954,7 +957,7 @@ SearchIntoTasks=Tehtävät SearchIntoCustomerInvoices=Asiakkaiden laskut SearchIntoSupplierInvoices=Vendor invoices SearchIntoCustomerOrders=Asiakkaan tilaukset -SearchIntoSupplierOrders=Purchase orders +SearchIntoSupplierOrders=Ostotilaukset SearchIntoCustomerProposals=Tarjoukset asiakkaille SearchIntoSupplierProposals=Vendor proposals SearchIntoInterventions=Interventions @@ -969,7 +972,7 @@ CommentPage=Comments space CommentAdded=Kommentti lisätty CommentDeleted=Kommentti poistettu Everybody=Yhteiset hanke -PayedBy=Paid by +PayedBy=Maksettu toimesta PayedTo=Paid to Monthly=Monthly Quarterly=Quarterly @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/fi_FI/orders.lang b/htdocs/langs/fi_FI/orders.lang index 9eb16bfb4cb..6ad75f3c205 100644 --- a/htdocs/langs/fi_FI/orders.lang +++ b/htdocs/langs/fi_FI/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=Sähköposti OrderByWWW=Online OrderByPhone=Puhelin # Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) +PDFEinsteinDescription=A complete order model PDFEratostheneDescription=A complete order model PDFEdisonDescription=Yksinkertainen tilausmalli PDFProformaDescription=A complete Proforma invoice template diff --git a/htdocs/langs/fi_FI/other.lang b/htdocs/langs/fi_FI/other.lang index 3e05eb44a04..5cd5ddd1758 100644 --- a/htdocs/langs/fi_FI/other.lang +++ b/htdocs/langs/fi_FI/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Titteli WEBSITE_DESCRIPTION=Kuvaus WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index 91ccfbb1d6f..15cb4c2d1e9 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL 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=Kirjanpitotili (ostot) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Kirjanpitotili (myynti) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Kirjanpitotili (Vientimyynti) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Alkuperä maa -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Yksikkö p=u. diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index 54314312026..f21074d9938 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -4,92 +4,90 @@ ProjectRef=Project ref. ProjectId=Project Id ProjectLabel=Project label ProjectsArea=Projects Area -ProjectStatus=Project status +ProjectStatus=Projektin tila SharedProject=Yhteiset hanke PrivateProject=Hankkeen yhteystiedot -ProjectsImContactFor=Projects for I am explicitly a contact -AllAllowedProjects=All project I can read (mine + public) +ProjectsImContactFor=Omat projektit +AllAllowedProjects=Omat ja muiden projektit AllProjects=Kaikki hankkeet MyProjectsDesc=This view is limited to projects you are a contact for -ProjectsPublicDesc=Tämä näkemys esitetään kaikki hankkeet sinulla voi lukea. +ProjectsPublicDesc=Tässä näkymässä esitetään kaikki hankkeet joita sinulla on oikaus katsoa. TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. -ProjectsPublicTaskDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät sinulla voi lukea. +ProjectsPublicTaskDesc=Tässä näkymässä esitetään kaikki tehtävät joita sinulla on oikaus katsoa. ProjectsDesc=Tämä näkemys esitetään kaikki hankkeet (käyttäjäoikeuksien antaa sinulle luvan katsella kaikkea). TasksOnProjectsDesc=This view presents all tasks on 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 OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). -ClosedProjectsAreHidden=Closed projects are not visible. +ClosedProjectsAreHidden=Suljetut projektit eivät ole nähtävissä. TasksPublicDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät sinulla voi lukea. TasksDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät (käyttäjäoikeuksien antaa sinulle luvan katsella kaikkea). AllTaskVisibleButEditIfYouAreAssigned=All tasks for qualified projects are visible, but you can enter time only for task assigned to selected user. Assign task if you need to enter time on it. OnlyYourTaskAreVisible=Only tasks assigned to you are visible. Assign task to yourself if it is not visible and you need to enter time on it. -ImportDatasetTasks=Tasks of projects -ProjectCategories=Project tags/categories +ImportDatasetTasks=Projektien tehtävät +ProjectCategories=Projektien/Tehtävien kategoriat NewProject=Uusi projekti -AddProject=Create project +AddProject=Perusta projekti DeleteAProject=Poista hanke DeleteATask=Poista tehtävä -ConfirmDeleteAProject=Are you sure you want to delete this project? -ConfirmDeleteATask=Are you sure you want to delete this task? -OpenedProjects=Open projects -OpenedTasks=Open tasks +ConfirmDeleteAProject=Oletko varma että haluat poistaa tämän projektin? +ConfirmDeleteATask=Oletko varma että haluat poistaa tämän tehtävän? +OpenedProjects=Avoimet projektit +OpenedTasks=Avoimet tehtävät OpportunitiesStatusForOpenedProjects=Leads amount of open projects by status OpportunitiesStatusForProjects=Leads amount of projects by status -ShowProject=Näytä hankkeen +ShowProject=Näytä projekti ShowTask=Näytä tehtävä -SetProject=Aseta hankkeen +SetProject=Aseta projekti NoProject=Ei hanke määritellään -NbOfProjects=Number of projects -NbOfTasks=Number of tasks +NbOfProjects=Projektien määrä +NbOfTasks=Tehtävien määrä TimeSpent=Käytetty aika TimeSpentByYou=Time spent by you TimeSpentByUser=Time spent by user TimesSpent=Käytetty aika -TaskId=Task ID -RefTask=Task ref. -LabelTask=Task label +TaskId=Tehtävän ID +RefTask=Tehtävän viittaus +LabelTask=Tehtävän merkki TaskTimeSpent=Time spent on tasks TaskTimeUser=Käyttäjä TaskTimeNote=Huomautus -TaskTimeDate=Date +TaskTimeDate=Päivämäärä TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Käytetty aika MyTimeSpent=Oma käytetty aika -BillTime=Bill the time spent -BillTimeShort=Bill time -TimeToBill=Time not billed -TimeBilled=Time billed +BillTime=Laskuta käytetty aika +BillTimeShort=Laskutettava aika +TimeToBill=Laskuttamaton aika +TimeBilled=Laskutettu aika Tasks=Tehtävät Task=Tehtävä -TaskDateStart=Task start date -TaskDateEnd=Task end date -TaskDescription=Task description +TaskDateStart=Tehtävän alkupäivä +TaskDateEnd=Tehtävän loppupäivä +TaskDescription=Tehtävän kuvaus NewTask=Uusi tehtävä -AddTask=Create task -AddTimeSpent=Create time spent -AddHereTimeSpentForDay=Add here time spent for this day/task -AddHereTimeSpentForWeek=Add here time spent for this week/task +AddTask=Perusta tehtävä +AddTimeSpent=Kirjaa käytetty aika +AddHereTimeSpentForDay=Lisää tähän käytetty aika tälle päivälle/tehtävälle +AddHereTimeSpentForWeek=Lisää tähän käytetty aika tälle viikolle/tehtävälle Activity=Toiminto Activities=Tehtävät / toiminnot MyActivities=Omat tehtävät / toiminnot -MyProjects=Omat hankkeet -MyProjectsArea=My projects Area -DurationEffective=Todellisen keston -ProgressDeclared=Declared progress -TaskProgressSummary=Task progress -CurentlyOpenedTasks=Curently open tasks +MyProjects=Omat projektit +MyProjectsArea=Omat projektit - alue +DurationEffective=Todellisen kesto +ProgressDeclared=Julkaistu eteneminen +TaskProgressSummary=Tehtien eteneminen +CurentlyOpenedTasks=Avoimet tehtävät TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared progress is less %s than the calculated progression TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared progress is more %s than the calculated progression -ProgressCalculated=Calculated progress +ProgressCalculated=Lasketut projektit WhichIamLinkedTo=which I'm linked to WhichIamLinkedToProject=which I'm linked to project Time=Aika -ListOfTasks=List of tasks +ListOfTasks=Tehtävälista GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt -GanttView=Gantt View +GanttView=GANTT näkymä ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project ListInvoicesAssociatedProject=List of customer invoices related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Liittyvät tuotteet ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Uusi lasku OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/fi_FI/receiptprinter.lang b/htdocs/langs/fi_FI/receiptprinter.lang index f50113846a2..72c80718a92 100644 --- a/htdocs/langs/fi_FI/receiptprinter.lang +++ b/htdocs/langs/fi_FI/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy tulostin CONNECTOR_NETWORK_PRINT=Verkkotulostin CONNECTOR_FILE_PRINT=Paikallinen tulostin CONNECTOR_WINDOWS_PRINT=Paikallinen Windows tulostin +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Olematon tulostin testiä varten, ei tee mitään CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Oletus profiili PROFILE_SIMPLE=Yksinkertainen profiili PROFILE_EPOSTEP=Epos Tep profiili @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Laskun ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Pääoma +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/fi_FI/stripe.lang b/htdocs/langs/fi_FI/stripe.lang index 8ca2b1b040f..c14c2d42860 100644 --- a/htdocs/langs/fi_FI/stripe.lang +++ b/htdocs/langs/fi_FI/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nimi myyjä CSSUrlForPaymentForm=CSS-tyylisivu url maksun muodossa NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/fi_FI/users.lang b/htdocs/langs/fi_FI/users.lang index a4c8f7b7cec..780bb758259 100644 --- a/htdocs/langs/fi_FI/users.lang +++ b/htdocs/langs/fi_FI/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain käyttäjän %s Reactivate=Uudelleenaktivoi CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Lupa myönnettiin, koska periytyy yhden käyttäjän ryhmä. Inherited=Peritty UserWillBeInternalUser=Luotu käyttäjä on sisäinen käyttäjä (koska ei liity erityistä kolmannelle osapuolelle) @@ -113,3 +113,5 @@ CantDisableYourself=You can't disable your own user record ForceUserExpenseValidator=Force expense report validator ForceUserHolidayValidator=Force leave request validator ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/fi_FI/website.lang b/htdocs/langs/fi_FI/website.lang index 2a68da89c30..3685a0886b6 100644 --- a/htdocs/langs/fi_FI/website.lang +++ b/htdocs/langs/fi_FI/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Aseta kotisivuksi RealURL=Lue URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/fr_BE/admin.lang b/htdocs/langs/fr_BE/admin.lang index 6fe29d6202b..fa89f84c97c 100644 --- a/htdocs/langs/fr_BE/admin.lang +++ b/htdocs/langs/fr_BE/admin.lang @@ -14,8 +14,16 @@ WarningModuleNotActive=Le module %s doit être activé WarningOnlyPermissionOfActivatedModules=Seules les permissions liées à des modules activés sont montrées ici. Vous pouvez activer d'autres modules sur la page Accueil->Configuration->Modules. FormToTestFileUploadForm=Formulaire pour tester l'upload de fichiers (selon la configuration) IfModuleEnabled=Note: oui ne fonctionne que si le module %s est activé +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +YouCanSubmitFile=You can upload the .zip file of module package from here: Module20Name=Propales Module30Name=Factures +Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +ValueOfConstantKey=Value of a configuration constant +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. Target=Objectif SuppliersCommandModel=Complete template of Purchase Order SuppliersInvoiceModel=Complete template of Vendor Invoice diff --git a/htdocs/langs/fr_BE/bills.lang b/htdocs/langs/fr_BE/bills.lang index bffa158d338..21de194f376 100644 --- a/htdocs/langs/fr_BE/bills.lang +++ b/htdocs/langs/fr_BE/bills.lang @@ -14,8 +14,12 @@ UsedByInvoice=Utilisée pour payer la facture %s PredefinedInvoices=Factures prédéfinies SupplierBills=factures fournisseurs Payment=Paiement +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Paiements DeletePayment=Supprimer paiement +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ReceivedPayments=Paiements reçus ReceivedCustomersPayments=Paiements reçus de clients ReceivedCustomersPaymentsToValid=Paiements à valider de clients @@ -39,5 +43,5 @@ PaymentTypeShortLIQ=En espèces PaymentTypeCB=Carte de crédit PaymentTypeShortCB=Carte de crédit Cash=En espèces -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template TerreNumRefModelDesc1=Renvoie le numéro sous la forme %syymm-nnnn pour les factures et %syymm-nnnn pour les notes de crédits où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0 diff --git a/htdocs/langs/fr_CA/admin.lang b/htdocs/langs/fr_CA/admin.lang index 0e082ab6de8..b933b9d4c2e 100644 --- a/htdocs/langs/fr_CA/admin.lang +++ b/htdocs/langs/fr_CA/admin.lang @@ -19,6 +19,8 @@ UploadNewTemplate=Télécharger un nouveau modèle (s) SecurityFilesDesc=Définissez ici les options liées à la sécurité concernant le téléchargement de fichiers. AllowToSelectProjectFromOtherCompany=Sur le document d'un tiers, peut choisir un projet lié à un autre tiers NextValueForDeposit=Valeur suivante (acompte) +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" MultiCurrencySetup=Configuration multi-devises NotConfigured=Module / Application non configuré AllWidgetsWereEnabled=Tous les widgets disponibles sont activés @@ -57,6 +59,7 @@ ModuleFamilyInterface=Interfaces avec les systèmes externes ThisIsAlternativeProcessToFollow=Il s'agit d'une configuration alternative à traiter manuellement: NotExistsDirect=Le répertoire racine alternatif n'est pas défini dans un répertoire existant. InfDirAlt=Depuis la version 3, il est possible de définir un autre répertoire racine. Cela vous permet de stocker, dans un répertoire dédié, des plug-ins et des modèles personnalisés.
    Créez simplement un répertoire à la racine de Dolibarr (par exemple: personnalisé). +YouCanSubmitFile=You can upload the .zip file of module package from here: LastStableVersion=Dernière version stable LastActivationDate=Dernière date d'activation LastActivationAuthor=Dernier auteur d'activation @@ -98,6 +101,7 @@ Module2610Desc=Activer le serveur REST de services API de les services Module2660Name=WebServices appel ( client SOAP ) Module4000Name=Gestion des ressources humaines Module10000Name=Sites Internet +Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). Module55000Name=Sondage, enquête ou vote Permission45=Exportation de projets Permission76=Exporter des données @@ -125,16 +129,20 @@ DictionaryVAT=Taux de TPS/TVH ou de Taxes de Ventes DictionaryAccountancyJournal=Revues comptables DictionaryProspectStatus=Status prospection SetupNotSaved=Le programme d'installation n'a pas été enregistré +ValueOfConstantKey=Value of a configuration constant CurrentNext=Actuel / Suivant DefaultMaxSizeList=Longueur maximale des listes CompanyObject=Objet de la compagnie ShowBugTrackLink=Afficher le lien "Signaler un défaut" +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. InfoDolibarr=À propos de Dolibarr InfoBrowser=À propos du navigateur InfoWebServer=À propos du serveur Web InfoPHP=À propos de PHP InfoPerf=À propos des performances AreaForAdminOnly=Les paramètres d'installation peuvent être définis par utilisateurs d'administrateur uniquement. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. DictionaryDesc=Insérez toutes les données de référence. Vous pouvez ajouter vos valeurs par défaut. MiscellaneousDesc=Tous les autres paramètres liés à la sécurité sont définis ici. UnitPriceOfProduct=Prix unitaire (no tax) d'un produit diff --git a/htdocs/langs/fr_CA/bills.lang b/htdocs/langs/fr_CA/bills.lang index 910c77067a3..eaa8825ba8a 100644 --- a/htdocs/langs/fr_CA/bills.lang +++ b/htdocs/langs/fr_CA/bills.lang @@ -5,8 +5,12 @@ InvoiceDepositDesc=Ce type de facture se fait lorsque l'acompte a été reçu. invoiceAvoirWithLines=Créer l'avoir avec les même lignes que la factures dont il est issu InvoiceHasAvoir=Était une source d'une ou de plusieurs notes de crédit PredefinedInvoices=Facture prédéfinie +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund paymentInInvoiceCurrency=en factures de devises ConfirmDeletePayment=Êtes-vous sûr de vouloir supprimer ce paiement? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? PaymentTypeDC=Carte de débit / crédit PaymentTypePP=Pay Pal CreateCreditNote=Créer avoir @@ -83,7 +87,7 @@ PaymentTypeShortTRA=Brouillon ChequeMaker=Émetteur du chèque/transfert DepositId=Identifiant de dépot YouMustCreateStandardInvoiceFirstDesc=Vous devez d'abord créer une facture standard et la convertir en «modèle» pour créer une nouvelle facture modèle -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFCrevetteDescription=Facture modèle PDF Crevette. Un modèle de facture complet pour les factures de situation MarsNumRefModelDesc1=Numéro de retour avec le format %syymm-nnnn pour les factures standard, %syymm-nnnn pour les factures de remplacement, %syymm-nnnn pour les factures de versement et %syymm-nnnn pour les notes de crédit où il est année, mm est le mois et nnnn est une séquence sans interruption et non Retourner à 0 CactusNumRefModelDesc1=Numéro de retour avec le format %syymm-nnnn pour les factures standard, %syymm-nnnn pour les notes de crédit et %syymm-nnnn pour les factures de versement de paiement où yy est l'année, mm est le mois et nnnn est une séquence sans interruption et aucun retour à 0 diff --git a/htdocs/langs/fr_CA/cashdesk.lang b/htdocs/langs/fr_CA/cashdesk.lang index 2f3da52b1f5..7b351fd210f 100644 --- a/htdocs/langs/fr_CA/cashdesk.lang +++ b/htdocs/langs/fr_CA/cashdesk.lang @@ -2,3 +2,5 @@ NoVAT=Pas de TVA (TAXE) pour cette vente BankToPay=Compte pour le paiement DolibarrReceiptPrinter=Imprimante de reçu Dolibarr +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts diff --git a/htdocs/langs/fr_CA/compta.lang b/htdocs/langs/fr_CA/compta.lang index d90041a728d..9426cca9d08 100644 --- a/htdocs/langs/fr_CA/compta.lang +++ b/htdocs/langs/fr_CA/compta.lang @@ -45,7 +45,6 @@ ConfirmDeleteSocialContribution=Êtes-vous sûr de vouloir supprimer cette charg ExportDataset_tax_1=Charges sociales et paiements CalcModeVATDebt=Mode %sTPS/TVH sur débit%s. CalcModeVATEngagement=Mode %s TPS/TVH sur encaissement%s. -RulesResultDue=- Il comprend les factures, les dépenses, la TVA, les dons, qu'ils soient payés ou non. Comprend également les salaires payés.
    - Il est basé sur la date de validation des factures et la TVA et à la date d'échéance des dépenses. Pour les salaires définis avec le module Salaire, la date de valeur du paiement est utilisée. RulesResultInOut=- Il comprend les paiements réels effectués sur les factures, les dépenses, la TVA et les salaires.
    - Il est basé sur les dates de paiement des factures, des dépenses, de la TVA et des salaires. La date de donation pour le don. DepositsAreIncluded=- Les factures de versement sont incluses LT1ReportByCustomersES=Rapport par tiers des RE (TVA) diff --git a/htdocs/langs/fr_CA/errors.lang b/htdocs/langs/fr_CA/errors.lang index 967bf583d1c..9df16a4655b 100644 --- a/htdocs/langs/fr_CA/errors.lang +++ b/htdocs/langs/fr_CA/errors.lang @@ -59,6 +59,7 @@ ErrorSpecialCharNotAllowedForField=Les caractères spéciaux ne sont pas autoris ErrorNumRefModel=Une référence existe dans la base de données (%s) et n'est pas compatible avec cette règle de numérotation. Supprimez l'enregistrement ou la renommée référence pour activer ce module. ErrorBadMaskBadRazMonth=Erreur, mauvaise valeur de réinitialisation ErrorCounterMustHaveMoreThan3Digits=Le compteur doit avoir plus de 3 chiffres +ErrorSelectAtLeastOne=Error, select at least one entry. ErrorProdIdAlreadyExist=%s est affecté à un autre tiers ErrorFailedToLoadRSSFile=Impossible d'obtenir un flux RSS. Essayez d'ajouter constante MAIN_SIMPLEXMLLOAD_DEBUG si les messages d'erreur ne fournissent pas suffisamment d'informations. ErrorForbidden=Accès refusé.
    Vous essayez d'accéder à une page, zone ou fonctionnalité d'un module désactivé ou sans être dans une session authentifiée ou non autorisée pour votre utilisateur. diff --git a/htdocs/langs/fr_CA/main.lang b/htdocs/langs/fr_CA/main.lang index 212af6e5318..fdb14636cb9 100644 --- a/htdocs/langs/fr_CA/main.lang +++ b/htdocs/langs/fr_CA/main.lang @@ -114,6 +114,7 @@ RelatedObjects=Objets associés FrontOffice=Front Office ExportFilteredList=Export liste filtrée ExportList=Liste des exportations +ExportOptions=Options d'exportation GroupBy=Par groupe... ViewFlatList=Afficher la liste forfaitaire RemoveString=Supprimer la chaîne '%s' diff --git a/htdocs/langs/fr_CA/other.lang b/htdocs/langs/fr_CA/other.lang index e19e7944a15..ba425feb946 100644 --- a/htdocs/langs/fr_CA/other.lang +++ b/htdocs/langs/fr_CA/other.lang @@ -110,4 +110,3 @@ LibraryVersion=Version de la bibliothèque ExportableDatas=Données à l'exportation NoExportableData=Aucune donnée exportable (aucun module avec des données exportables chargées ou des autorisations manquantes) WebsiteSetup=Site de configuration du module -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. diff --git a/htdocs/langs/fr_CA/projects.lang b/htdocs/langs/fr_CA/projects.lang index 7b2d5aad08b..f92612aa8bf 100644 --- a/htdocs/langs/fr_CA/projects.lang +++ b/htdocs/langs/fr_CA/projects.lang @@ -88,7 +88,6 @@ AddElement=Lien vers l'élément PlannedWorkload=Charge de travail planifiée ProjectReferers=Articles connexes ProjectMustBeValidatedFirst=Le projet doit d'abord être validé -FirstAddRessourceToAllocateTime=Affectez une ressource utilisateur à la tâche pour allouer du temps InputPerDay=Entrée par jour InputPerWeek=Entrée par semaine TimeAlreadyRecorded=Il s'agit du temps passé déjà enregistré pour cette tâche / jour et utilisateur %s diff --git a/htdocs/langs/fr_CA/users.lang b/htdocs/langs/fr_CA/users.lang index 81db7ef3370..a6633222cdc 100644 --- a/htdocs/langs/fr_CA/users.lang +++ b/htdocs/langs/fr_CA/users.lang @@ -7,6 +7,7 @@ ConfirmEnableUser=Êtes-vous sûr de vouloir activer l'utilisateur %s? ConfirmReinitPassword=Êtes-vous sûr de vouloir générer un nouveau mot de passe pour l'utilisateur %s? ConfirmSendNewPassword=Êtes-vous sûr de vouloir générer et envoyer un nouveau mot de passe pour l'utilisateur %s? LastUsersCreated=Derniers %s utilisateurs créés +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, permissions defines rights on Dolibarr, also external user can have a different menu manager than internal user (See Home - Setup - Display) ConfirmCreateContact=Êtes-vous sûr de vouloir créer un compte Dolibarr pour ce contact? ConfirmCreateLogin=Êtes-vous sûr de vouloir créer un compte Dolibarr pour ce membre? ConfirmCreateThirdParty=Êtes-vous sûr de vouloir créer un tiers pour ce membre? diff --git a/htdocs/langs/fr_CA/website.lang b/htdocs/langs/fr_CA/website.lang index 5255b2f9da5..5aefcc130d6 100644 --- a/htdocs/langs/fr_CA/website.lang +++ b/htdocs/langs/fr_CA/website.lang @@ -7,3 +7,5 @@ EditMenu=Menu Edition ViewSiteInNewTab=Afficher le site dans un nouvel onglet ViewPageInNewTab=Afficher la page dans un nouvel onglet ViewWebsiteInProduction=Afficher le site Web à l'aide d'URL d'accueil +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index f1849bb996a..172153852e3 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Remarque : Votre PHP limite la taille des envois à NoMaxSizeByPHPLimit=Aucune limite configurée dans votre serveur PHP MaxSizeForUploadedFiles=Taille maximum des fichiers envoyés (0 pour interdire l'envoi) UseCaptchaCode=Utilisation du code graphique (CAPTCHA) sur la page de connexion -AntiVirusCommand= Chemin complet vers la commande antivirus -AntiVirusCommandExample= Exemple pour ClamWin : c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Exemple pour ClamAv : /usr/bin/clamscan +AntiVirusCommand=Chemin complet vers la commande antivirus +AntiVirusCommandExample=Exemple pour ClamAv Daemon (nécessite clamav-daemon): /usr/bin/clamdscan
    Exemple pour ClamWin (très très lent): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Paramètres supplémentaires sur la ligne de commande -AntiVirusParamExample= Exemple pour ClamWin : --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Exemple pour le démon ClamAv: --fdpass
    Exemple pour ClamWin: --database = "C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Configuration du module Comptabilité UserSetup=Configuration de la gestion des utilisateurs MultiCurrencySetup=Configuration du module Multi-devise @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Fonction désactivée dans la démo FeatureAvailableOnlyOnStable=Fonction disponible uniquement sur les versions officielles stables BoxesDesc=Les widgets sont des composants montrant des informations que vous pouvez ajouter à vos pages pour les personnaliser. Vous pouvez choisir de les afficher ou non en sélectionnant la page cible et en cliquant sur "Activer" ou "Désactiver". OnlyActiveElementsAreShown=Seuls les éléments en rapport avec un module actif sont présentés. -ModulesDesc=Les modules Dolibarr définissent quelles fonctionnalités sont disponibles dans le logiciel. Certains modules / applications nécessitent, après activation, d'accorder des autorisations aux utilisateurs. Cliquez sur le bouton activé/désactivé (en fin de ligne) pour activer un module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=D'autres modules/extensions sont disponibles en téléchargement sur des sites externes sur Internet... ModulesDeployDesc=Si les permissions de votre système de fichier le permettent , vous pouvez utiliser cet outil pour déployer un module externe. Le module sera alors visible dans l'onglet %s. ModulesMarketPlaces=Rechercher un module/application externe @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible avec la version %s NotCompatible=Ce module n'est pas compatible avec votre version %s de Dolibarr (version min. %s - version max. %s). CompatibleAfterUpdate=Ce module nécessite une mise à jour de Dolibarr %s (Version min. %s - Version max. %s). SeeInMarkerPlace=Voir dans la boutique +SeeSetupOfModule=Voir la configuration du module %s Updated=Mise à jour effectuée Nouveauté=Nouveauté AchatTelechargement=Acheter/télécharger @@ -221,6 +222,7 @@ DoliPartnersDesc=Liste de quelques sociétés qui peuvent fournir/développer de WebSiteDesc=Sites fournisseurs à consulter pour trouver plus de modules (extensions)... DevelopYourModuleDesc=Quelques pistes pour développer votre propre module/application... URL=URL +RelativeURL=URL relative BoxesAvailable=Widgets disponibles BoxesActivated=Widgets activés ActivateOn=Activer sur @@ -328,7 +330,7 @@ SetupIsReadyForUse=L"installation du module est terminée. Il est cependant néc NotExistsDirect=Le dossier racine alternatif n'est pas défini.
    InfDirAlt=Depuis les versions 3, il est possible de définir un dossier racine alternatif. Cela permet d'installer modules et thèmes additionnels dans un répertoire dédié.
    Créer un dossier racine alternatif à Dolibarr (ex : custom).
    InfDirExample=
    Ensuite, déclarez le dans le fichier conf.php
    $dolibarr_main_url_root_alt='/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    Si ces lignes sont commentées avec un symbole "#" ou "//", activer les en supprimant le caractère "#" ou "//". -YouCanSubmitFile=You can upload the .zip file of module package from here: +YouCanSubmitFile=Vous pouvez téléverser le fichier .zip du package du module à partir d'ici: CurrentVersion=Version actuelle de Dolibarr CallUpdatePage=Aller à la page de mise à jour de la structure et des données de la base : %s. LastStableVersion=Dernière version stable disponible @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Laisser ce champ vide pour utiliser la valeur par défaut DefaultLink=Lien par défaut SetAsDefault=Définir par défaut ValueOverwrittenByUserSetup=Attention, cette valeur peut être écrasée par une valeur spécifique à la configuration de l'utilisateur (chaque utilisateur pouvant avoir sa propre URL « clicktodial ») -ExternalModule=Module externe - Installé dans le répertoire %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Initialisation du code-barre en masse pour les tiers BarcodeInitForProductsOrServices=Initialisation ou purge en masse des codes-barre des produits ou services CurrentlyNWithoutBarCode=Actuellement, vous avez %s enregistrements sur %s %s sans code barre défini. @@ -546,7 +549,7 @@ Module58Desc=Intégration d'un système de « ClickToDial » (Asterisk, …) Module59Name=Bookmark4u Module59Desc=Ajoute une fonction pour générer un compte Bookmark4u depuis un compte Dolibarr Module60Name=Autocollants -Module60Desc=Gestion des autocollants +Module60Desc=Gestion des pages d'autocollants Module70Name=Interventions Module70Desc=Gestion des interventions chez les tiers Module75Name=Notes de frais @@ -642,7 +645,7 @@ Module50000Desc=Module permettant d'offrir une page de paiement en ligne par car Module50100Name=PdV SimplePOS Module50100Desc=Point de vente SimplePOS (caisse enregistreuse simple) Module50150Name=PdV TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Point de Vente TakePOS (Caisse enregistreuse à écran tactile, pour magasins, bars, restaurants, etc). Module50200Name=Paypal Module50200Desc=Module permettant d'offrir une page de paiement en ligne par carte de crédit avec PayBox. Ceci peut être utilisé par les clients pour faire des paiements de montants libre ou pour des paiements d'un objet particulier de Dolibarr (facture, commande, ...) Module50300Name=Stripe @@ -881,7 +884,7 @@ Permission1251=Lancer des importations en masse dans la base (chargement de donn Permission1321=Exporter les factures clients, attributs et règlements Permission1322=Rouvrir une facture payée Permission1421=Exporter les commandes clients et attributs -Permission2401=Lire les actions (événements ou tâches) liées à son compte utilisateur (si propriétaire de l’événement ou lui est assigné) +Permission2401=Lire les actions (événements ou tâches) liées à son compte utilisateur (si propriétaire de l’événement ou simplement assigné à l'événement) Permission2402=Créer/modifier des actions (événements ou tâches) liées à son compte utilisateur (si propriétaire de l'événement) Permission2403=Supprimer des actions (événements ou tâches) liées à son compte utilisateur (si propriétaire de l'événement) Permission2411=Lire les actions (événements ou tâches) des autres @@ -947,7 +950,7 @@ DictionaryCanton=Etats/Province DictionaryRegion=Régions DictionaryCountry=Pays DictionaryCurrency=Monnaies -DictionaryCivility=Titres de civilité +DictionaryCivility=Honorific titles DictionaryActions=Liste des types d'événements de l'agenda DictionarySocialContributions=Types de charges sociales ou fiscales DictionaryVAT=Taux de TVA ou de Taxes de Ventes @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Le taux de TVA proposé par défaut est 0. C'est le cas d'assoc VATIsUsedExampleFR=En France, cela signifie que les entreprises ou les organisations sont assujetis à la tva (réel ou normal). VATIsNotUsedExampleFR=En France, il s'agit des associations ne déclarant pas de TVA ou sociétés, organismes ou professions libérales ayant choisi le régime fiscal micro entreprise (TVA en franchise) et payant une TVA en franchise sans faire de déclaration de TVA. Ce choix fait de plus apparaître la mention "TVA non applicable - art-293B du CGI" sur les factures. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Taux LocalTax1IsNotUsed=Non assujeti LocalTax1IsUsedDesc=Utilisation d'un 2ème type taxe (autre que le premier) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Le IRPF proposé par défaut lors de la création de propa LocalTax2IsNotUsedDescES=L'IRPF proposé par défaut est 0. Fin de règle. LocalTax2IsUsedExampleES=En Espagne, ce sont des professionnels autonomes et indépendants qui offrent des services, et des sociétés qui ont choisi le système fiscal du module. LocalTax2IsNotUsedExampleES=En Espagne, ce sont des sociétés qui ne sont pas soumises au système fiscal du module. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Rapports sur les taxes locales CalcLocaltax1=Ventes - Achats CalcLocaltax1Desc=Les rapports des Taxes locales sont calculées avec la différence entre les taxes locales de ventes et les taxes locales d'achats @@ -1018,10 +1025,11 @@ CalcLocaltax2=Achats CalcLocaltax2Desc=Le Rapport des Taxes locales sont le total des taxes locales d'achats CalcLocaltax3=Ventes CalcLocaltax3Desc=Le Rapports des Taxes locales sont le total des taxes locales de ventes +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Libellé qui sera utilisé si aucune traduction n'est trouvée pour ce code LabelOnDocuments=Libellé sur les documents LabelOrTranslationKey=Libellé ou clé de traduction -ValueOfConstantKey=Value of a configuration constant +ValueOfConstantKey=Valeur de constante de configuration NbOfDays=Nb. de jours AtEndOfMonth=En fin de mois CurrentNext=Current/Next @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Note de frais à approuver Delays_MAIN_DELAY_HOLIDAYS=Demandes de congés à approuver SetupDescription1=L'espace configuration permet de réaliser le paramétrage initial afin de pouvoir commencer à utiliser l'application. SetupDescription2=Les deux étapes obligatoires sont les deux premières entrées dans le menu de configuration, soit -SetupDescription3=%s -> %s
    Paramètres basiques pour personnaliser le comportement par défaut du logiciel (comportement lié au pays par exemple). -SetupDescription4= %s -> %s
    Ce logiciel est un ensemble de plusieurs modules/applications, tous plus ou moins indépendants. Les fonctionnalités en rapport avec vos besoins doivent être activées et configurées. De nouvelles entrées/options seront ajoutés aux menus avec l'activation d'un module. +SetupDescription3=%s -> %s

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

    Ce logiciel est un ensemble de plusieurs modules/applications. Les fonctionnalités en rapport avec vos besoins doivent être activées et configurées. Les entrées menus seront ajoutées avec l'activation de ces modules. SetupDescription5=Les autres entrées de configuration gèrent des paramètres facultatifs. LogEvents=Événements d'audit de sécurité Audit=Audit de sécurité @@ -1128,7 +1136,7 @@ LogEventDesc=Vous pouvez activer ici l'historique des événements d'audit de s AreaForAdminOnly=Les paramètres d'installation ne peuvent être remplis que par les utilisateurs administrateurs uniquement. SystemInfoDesc=Les informations systèmes sont des informations techniques diverses accessibles en lecture seule aux administrateurs uniquement. SystemAreaForAdminOnly=Cet espace n'est accessible qu'aux utilisateurs de type administrateur. Aucune permission Dolibarr ne permet d'étendre le cercle des utilisateurs autorisés à cet espace. -CompanyFundationDesc=Modifiez les informations de la société/organisation. Cliquez sur le bouton "%s" en bas de la page. +CompanyFundationDesc=Modifiez les informations de votre société/organisation. Cliquez sur le bouton "%s" en bas de page pour sauvegarder. AccountantDesc=Si vous avez un comptable externe, vous pouvez saisir ici ses informations. AccountantFileNumber=Code comptable DisplayDesc=Vous pouvez choisir ici tous les paramètres liés à l'apparence de Dolibarr @@ -1144,7 +1152,7 @@ TriggerAlwaysActive=Déclencheurs de ce fichier toujours actifs, quels que soien TriggerActiveAsModuleActive=Déclencheurs de ce fichier actifs car le module %s est actif. GeneratedPasswordDesc=Définissez ici quelle règle vous voulez utiliser pour générer les mots de passe quand vous demandez à générer un nouveau mot de passe DictionaryDesc=Définissez ici les données de référence. Vous pouvez compléter/modifier les données prédéfinies avec les vôtres. -ConstDesc=Cette page vous permet d'éditer (remplacer) des paramètres non disponibles dans d'autres pages. Il s'agit principalement de paramètres réservés pour les développeurs et dépannage avancé uniquement. +ConstDesc=Cette page vous permet d'éditer (remplacer) des paramètres non disponibles dans d'autres pages. Il s'agit principalement de paramètres réservés pour les développeurs et dépannage avancé uniquement. Consultez ici la liste des options. MiscellaneousDesc=Définissez ici les autres paramètres en rapport avec la sécurité. LimitsSetup=Configuration des limites et précisions LimitsDesc=Vous pouvez définir ici les limites, précisions et optimisations utilisées par Dolibarr @@ -1264,6 +1272,9 @@ RuleForGeneratedPasswords=Règle pour la génération des mots de passe proposé DisableForgetPasswordLinkOnLogonPage=Cacher le lien "Mot de passe oublié" sur la page de connexion UsersSetup=Configuration du module utilisateurs UserMailRequired=Email requis pour créer un nouvel utilisateur +UserHideInactive=Cacher les utilisateurs inactifs +UsersDocModules=Modèles de documents pour les documents générés à partir de la fiche utilisateur +GroupsDocModules=Modèles de documents pour les documents générés à partir de la fiche d'un groupe ##### HRM setup ##### HRMSetup=Configuration du module GRH ##### Company setup ##### @@ -1295,7 +1306,7 @@ BillsPDFModules=Modèle de document de factures BillsPDFModulesAccordindToInvoiceType=Modèles de documents de facturation en fonction du type de facture PaymentsPDFModules=Modèle de document pour les règlements ForceInvoiceDate=Forcer la date de facturation à la date de validation (seulement de Brouillon à Impayée) -SuggestedPaymentModesIfNotDefinedInInvoice=Mode de paiement suggéré par défaut si non défini au niveau de la facture +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Proposer paiement par virement sur le compte SuggestPaymentByChequeToAddress=Proposer paiement par chèque à l'ordre et adresse de FreeLegalTextOnInvoices=Mention complémentaire sur les factures @@ -1307,7 +1318,7 @@ SupplierPaymentSetup=Configuration des règlements fournisseurs PropalSetup=Configuration du module Propositions Commerciales ProposalsNumberingModules=Modèles de numérotation des propositions commerciales ProposalsPDFModules=Modèles de documents de propositions commerciales -SuggestedPaymentModesIfNotDefinedInProposal=Mode de paiement suggéré sur le document proposition par défaut s'il n'est pas défini au niveau de la proposition +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1333,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Demander pour l'entrepôt-source pour la co ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Demandez le compte bancaire destination de commande fournisseur ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Configuration du module Commandes OrdersNumberingModules=Modèles de numérotation des commandes OrdersModelModule=Modèles de document des commandes @@ -1686,9 +1698,9 @@ CashDeskIdWareHouse=Forcer et restreindre l'emplacement/entrepôt à utiliser po StockDecreaseForPointOfSaleDisabled=Réduction de stock lors de l'utilisation du Point de Vente désactivée StockDecreaseForPointOfSaleDisabledbyBatch=La décrémentation de stock depuis ce module Point de Vente n'est pas encore compatible avec la gestion des numéros de lots/série. CashDeskYouDidNotDisableStockDecease=Vous n'avez pas désactivé la réduction de stock lors d'une vente depuis le Point de vente. Par conséquent, un entrepôt est nécessaire. -CashDeskForceDecreaseStockLabel=Décrémentation des stocks pour les lots a été forcé. -CashDeskForceDecreaseStockDesc=Décrémentation des lots par DLC et DLUO les plus anciennes. -CashDeskReaderKeyCodeForEnter=Code pour la touche "Entrée" du lecteur de codes à barres. +CashDeskForceDecreaseStockLabel=La diminution des stocks de produits soumis à numéros de lots a été forcée. +CashDeskForceDecreaseStockDesc=Diminuez d'abord par les dates de DMD/DLUO ou DLC les plus anciennes +CashDeskReaderKeyCodeForEnter=Code clé pour "Entrée" défini dans le lecteur de code-barres (exemple: 13) ##### Bookmark ##### BookmarkSetup=Configuration du module Marque-pages BookmarkDesc=Ce module vous permet de gérer des liens et raccourcis. Il permet aussi d'ajouter n'importe quelle page de Dolibarr ou lien web dans le menu d'accès rapide sur la gauche. @@ -1720,7 +1732,7 @@ MultiCompanySetup=Configuration du module Multi-société ##### Suppliers ##### SuppliersSetup=Configuration du module Fournisseurs SuppliersCommandModel=Modèle de commande fournisseur complet -SuppliersCommandModelMuscadet=Modèle de commande fournisseur complet (ancienne implémentation du modèle Cornas) +SuppliersCommandModelMuscadet=Modèle de commande fournisseur complet SuppliersInvoiceModel=Modèle de facture fournisseur complet SuppliersInvoiceNumberingModel=Modèles de numérotation des factures fournisseur IfSetToYesDontForgetPermission=Si positionné sur une valeur non nulle, n'oubliez pas de donner les permissions aux groupes ou utilisateurs qui auront le droit de cette seconde approbation. @@ -1792,6 +1804,7 @@ TopMenuDisableImages=Cacher les images du menu principal LeftMenuBackgroundColor=Couleur de fond pour le menu Gauche BackgroundTableTitleColor=Couleur de fond pour la ligne de titres des liste/tableaux BackgroundTableTitleTextColor=Couleur du texte pour la ligne de titre des tableaux +BackgroundTableTitleTextlinkColor=Couleur du texte pour la ligne de titre lien des tableaux BackgroundTableLineOddColor=Couleur de fond pour les lignes impaires des tables BackgroundTableLineEvenColor=Couleur de fond pour les lignes paires des tales MinimumNoticePeriod=Période de préavis minimum (Votre demande de congé doit être faite avant ce délai) @@ -1959,6 +1972,7 @@ WarningValueHigherSlowsDramaticalyOutput=Attention, les valeurs élevées ralent ModuleActivated=Le module %s est activé et ralentit l'interface EXPORTS_SHARE_MODELS=Les modèles d'exportation sont partagés avec tout le monde ExportSetup=Configuration du module Export +ImportSetup=Configuration du module Import InstanceUniqueID=ID unique de l'instance SmallerThan=Plus petit que LargerThan=Plus grand que @@ -1978,6 +1992,8 @@ NotAPublicIp=Pas une IP publique MakeAnonymousPing=Effectuez un ping «+1» anonyme sur le serveur de la fondation Dolibarr (une seule fois après l’installation) pour permettre à la fondation de compter le nombre d’installations de Dolibarr. FeatureNotAvailableWithReceptionModule=Fonction non disponible lorsque le module Réception est activée EmailTemplate=Modèle d'e-mail -EMailsWillHaveMessageID=Les e-mails auront une étiquette 'Références' correspondant à cette syntaxe -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +EMailsWillHaveMessageID=Les e-mails auront une étiquette 'References' correspondant à cette syntaxe +PDF_USE_ALSO_LANGUAGE_CODE=Si vous souhaitez que certains textes de votre PDF soient dupliqués dans 2 langues différentes dans le même PDF généré, vous devez définir ici cette deuxième langue pour que le PDF généré contienne 2 langues différentes dans la même page, celle choisie lors de la génération du PDF et celle-ci (seuls quelques modèles PDF prennent en charge cette fonction). Gardez vide pour 1 langue par PDF. +FafaIconSocialNetworksDesc=Entrez ici le code d'une icône FontAwesome. Si vous ne savez pas ce qu'est FontAwesome, vous pouvez utiliser la valeur générique fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 03d1b95b879..92a0da802d1 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -58,8 +58,8 @@ SuppliersInvoices=Factures fournisseurs SupplierBill=Facture fournisseur SupplierBills=Factures fournisseurs Payment=Règlement -PaymentBack=Remboursement -CustomerInvoicePaymentBack=Remboursement +PaymentBack=Rembourser +CustomerInvoicePaymentBack=Rembourser Payments=Règlements PaymentsBack=Remboursements paymentInInvoiceCurrency=Dans la devise des factures @@ -219,7 +219,10 @@ ShowInvoiceSituation=Afficher la facture de situation UseSituationInvoices=Autoriser les factures de situation UseSituationInvoicesCreditNote=Autoriser les avoirs de factures de situation Retainedwarranty=Retenue de garantie +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Pourcentage par défaut de la retenue de garantie +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=A payer sur %s toPayOn=à payer sur %s RetainedWarranty=Retenue de garantie @@ -390,6 +393,7 @@ GeneratedFromTemplate=Généré à partir du modèle de facture %s WarningInvoiceDateInFuture=Attention, la date de facturation est antérieur à la date actuelle WarningInvoiceDateTooFarInFuture=Attention, la date de facturation est trop éloignée de la date actuelle ViewAvailableGlobalDiscounts=Voir les remises disponibles +GroupPaymentsByModOnReports=Grouper les paiements par mode sur les rapports # PaymentConditions Statut=État PaymentConditionShortRECEP=A réception @@ -509,11 +513,11 @@ ToMakePayment=Payer ToMakePaymentBack=Rembourser ListOfYourUnpaidInvoices=Liste des factures impayées NoteListOfYourUnpaidInvoices=Remarque: Cette liste ne contient que les factures des Tiers pour lesquels vous êtes le commercial affecté. -RevenueStamp=Timbre fiscal +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Cette option est disponible uniquement lors de la création de factures depuis l'onglet "client" du tiers YouMustCreateInvoiceFromSupplierThird=Cette option est disponible uniquement lors de la création d'une facture depuis l'onglet "fournisseur" d'un tiers YouMustCreateStandardInvoiceFirstDesc=Pour créer une facture modèle, vous devez d'abord créer une facture standard brouillon et la convertir en modèle. -PDFCrabeDescription=Modèle de facture PDF Crabe. Un modèle de facture complet (ancienne implémentation du modèle Sponge) +PDFCrabeDescription=Modèle de facture PDF Crabe. Un modèle de facture complet PDFSpongeDescription=Modèle de facture PDF Sponge. Un modèle de facture complet PDFCrevetteDescription=Modèle de facture PDF Crevette (modèle complet pour les factures de situation) TerreNumRefModelDesc1=Renvoie le numéro sous la forme %syymm-nnnn pour les factures et factures de remplacement, %syymm-nnnn pour les avoirs et %syymm-nnnn pour les acomptes où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0 @@ -575,3 +579,4 @@ AutoFillDateTo=Définir la date de fin de la ligne de service avec la date de la AutoFillDateToShort=Définir la date de fin MaxNumberOfGenerationReached=Nb maximum de gén. atteint BILL_DELETEInDolibarr=Facture supprimée +BILL_SUPPLIER_DELETEInDolibarr=Facture fournisseur supprimée diff --git a/htdocs/langs/fr_FR/blockedlog.lang b/htdocs/langs/fr_FR/blockedlog.lang index 2588df90cee..c0619d33371 100644 --- a/htdocs/langs/fr_FR/blockedlog.lang +++ b/htdocs/langs/fr_FR/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Logs inaltérables ShowAllFingerPrintsMightBeTooLong=Afficher tous les journaux archivés (peut être long) ShowAllFingerPrintsErrorsMightBeTooLong=Afficher tous les journaux d'archives non valides (peut être long) DownloadBlockChain=Télécharger les empreintes -KoCheckFingerprintValidity=Le journal archivé n'est pas valide. Cela signifie que quelqu'un (un pirate informatique ?) a modifié certaines données de ce journal archivé après son enregistrement ou a effacé l'enregistrement archivé précédent (vérifiez que la ligne avec le # précédent existe). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Le journal archivé est valide. Les données de cette ligne n'ont pas été modifiées et l'enregistrement suit le précédent. OkCheckFingerprintValidityButChainIsKo=Le journal archivé semble valide par rapport au précédent mais la chaîne était corrompue auparavant. AddedByAuthority=Stocké dans une autorité distante diff --git a/htdocs/langs/fr_FR/cashdesk.lang b/htdocs/langs/fr_FR/cashdesk.lang index 106630d5b17..f07b314db1b 100644 --- a/htdocs/langs/fr_FR/cashdesk.lang +++ b/htdocs/langs/fr_FR/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Ajouter cet article RestartSelling=Reprendre la vente SellFinished=Vente complète PrintTicket=Imprimer ticket +SendTicket=Envoyer le ticket NoProductFound=Aucun article trouvé ProductFound=produit trouvé NoArticle=Aucun article @@ -48,6 +49,7 @@ Footer=Bas de page AmountAtEndOfPeriod=Montant en fin de période (jour, mois ou année) TheoricalAmount=Montant théorique RealAmount=Montant réel +CashFence=Cash fence CashFenceDone=Clôture de caisse faite pour la période NbOfInvoices=Nb de factures Paymentnumpad=Type de pavé pour entrer le paiement @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS a besoin des catégories de produits pour fonctio OrderNotes=Notes de commande CashDeskBankAccountFor=Compte par défaut à utiliser pour les paiements en NoPaimementModesDefined=Aucun mode de paiement défini dans la configuration de TakePOS -TicketVatGrouped=Grouper la TVA par taux sur les tickets -AutoPrintTickets=Imprimer automatiquement les tickets +TicketVatGrouped=Grouper la TVA par taux sur les tickets / reçus +AutoPrintTickets=Imprimer automatiquement les tickets / reçus +PrintCustomerOnReceipts=Imprimer le client sur les tickets|reçus EnableBarOrRestaurantFeatures=Activer les fonctionnalités pour bar ou restaurant ConfirmDeletionOfThisPOSSale=Confirmez-vous la suppression de cette vente en cours? ConfirmDiscardOfThisPOSSale=Voulez-vous écarter cette vente en cours? @@ -81,16 +84,25 @@ CustomReceipt=Reçu personnalisé ReceiptName=Nom du reçu ProductSupplements=Suppléments de produit SupplementCategory=Catégorie des suppléments -ColorTheme=Color theme +ColorTheme=Couleur du thème Colorful=Coloré -HeadBar=Head Bar -SortProductField=Champ pour le tri des produits +HeadBar=Bandeau du haut +SortProductField=Champ de tri des produits Browser=Navigateur -BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposNumpadUsePaymentIcon=Utilisation d'icônes sur les touches des modes de règlement du pavé numérique -CashDeskRefNumberingModules=Modèles de numérotation des caisses -CashDeskGenericMaskCodes6 =
    La balise {TN} permet de rajouter le numéro du terminal +BrowserMethodDescription=Impression simple et facile des reçus. Seuls quelques paramètres pour configurer le reçu. Impression via le navigateur. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. +PrintMethod=Méthode d'impression +ReceiptPrinterMethodDescription=Méthode puissante avec beaucoup de paramètres. Entièrement personnalisable avec des modèles. Impossible d'imprimer à partir du cloud. +ByTerminal=Par terminal +TakeposNumpadUsePaymentIcon=Utiliser l'icône de paiement sur le pavé numérique +CashDeskRefNumberingModules=Module de numérotation pour le POS +CashDeskGenericMaskCodes6 =
    La balise {TN} est utilisée pour ajouter le numéro de terminal TakeposGroupSameProduct=Regrouper les mêmes lignes de produits -PrintMethod=Print method -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. -ByTerminal=By terminal +StartAParallelSale=Lancer une nouvelle vente en parallèle +ControlCashOpening=Popup d'ouverture de caisse à l'ouverture +CloseCashFence=Clôturer la caisse +CashReport=Rapport de caisse +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Template to use for order diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang index 9945859c16b..850f1e99263 100644 --- a/htdocs/langs/fr_FR/companies.lang +++ b/htdocs/langs/fr_FR/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=La société "%s" a été supprimée de la base. ListOfContacts=Liste des contacts ListOfContactsAddresses=Liste des contacts/adresses ListOfThirdParties=Liste des tiers -ShowCompany=Afficher tiers ShowContact=Afficher contact ContactsAllShort=Tous (pas de filtre) ContactType=Type de contact @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Prénom du commercial SaleRepresentativeLastname=Nom du commercial ErrorThirdpartiesMerge=Une erreur est survenue lors de la suppression de ce tiers. Consultez les log. La modification a été annulée. NewCustomerSupplierCodeProposed=Code client ou fournisseur déjà utilisé, un nouveau code est suggéré +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Type de paiement - Client PaymentTermsCustomer=Conditions de paiement - Client diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 8252a1cb29f..d4c59754898 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Voir %sanalyse des paiements%s pour un calcul sur les SeeReportInDueDebtMode=Voir %sanalyse des factures%s pour un calcul basé sur les factures enregistrées connues même si elles ne sont pas encore comptabilisées dans le Grand Livre. SeeReportInBookkeepingMode=Voir le %sRapport sur le Grand Livre%s pour un calcul sur les tables du Grand Livre RulesAmountWithTaxIncluded=- Les montants affichés sont les montants taxe incluse -RulesResultDue=- Il comprend les factures impayées, les dépenses, la TVA, les dons, qu'ils soient payées ou non. Il comprend également les salaires versés.
    - Il est basé sur la date de validation des factures et de la TVA et à la date prévue pour les dépenses. Pour les salaires définis avec le module de salaire, la date de paiement de la valeur est utilisée. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Il comprend les paiements réels effectués sur les factures, les dépenses, la TVA et les salaires.
    - Il est basé sur les dates de paiement des factures, les dépenses, la TVA et les salaires. La date du don pour le don. -RulesCADue=- Il inclut les factures clients dues, qu'elles soient payées ou non.
    - Il se base sur la date de validation de ces factures.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Il inclut les règlements effectivement reçus des factures clients.
    - Il se base sur la date de règlement de ces factures
    RulesCATotalSaleJournal=Il comprend toutes les lignes du journal de vente. RulesAmountOnInOutBookkeepingRecord=Cela inclut les enregistrements dans votre Grand Livre ayant les comptes de comptabilité qui ont le groupe "EXPENSE" ou "INCOME" @@ -255,3 +255,12 @@ TurnoverbyVatrate=Chiffre d'affaire facturé par taux de TVA TurnoverCollectedbyVatrate=Chiffre d'affaires encaissé par taux de TVA PurchasebyVatrate=Achat par taux de TVA LabelToShow=Libellé court +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected +IncludeVarpaysInResults = Inclure les payments divers dans les rapports +IncludeLoansInResults = Inclure les emprunts dans les rapports diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index a620ff5e072..6fdaed0fe48 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Fichier non reçu intégralement par le serveur. ErrorNoTmpDir=Répertoire temporaire de réception %s inexistant. ErrorUploadBlockedByAddon=Upload bloqué par un plugin PHP/Apache. ErrorFileSizeTooLarge=La taille du fichier est trop grande. +ErrorFieldTooLong=Le champ %s est trop long. ErrorSizeTooLongForIntType=Longueur de champ trop longue pour le type int (%s chiffres maximum) ErrorSizeTooLongForVarcharType=Longueur de champ trop longue pour le type chaine (%s caractères maximum) ErrorNoValueForSelectType=Les valeurs de la liste de sélection doivent être renseignées @@ -96,7 +97,7 @@ ErrorBadMaskFailedToLocatePosOfSequence=Erreur, masque sans numéro de séquence ErrorBadMaskBadRazMonth=Erreur, mauvais valeur de remise à zéro ErrorMaxNumberReachForThisMask=Nombre maximum atteint pour ce masque ErrorCounterMustHaveMoreThan3Digits=Le compteur doit avoir au moins 3 positions -ErrorSelectAtLeastOne=Error, select at least one entry. +ErrorSelectAtLeastOne=Erreur, sélectionnez au moins une entrée. ErrorDeleteNotPossibleLineIsConsolidated=Suppression impossible car l'enregistrement porte sur au moins une transaction bancaire rapprochée ErrorProdIdAlreadyExist=%s est attribué à un autre tiers ErrorFailedToSendPassword=Échec de l'envoi du mot de passe @@ -117,9 +118,9 @@ ErrorLoginDoesNotExists=Le compte utilisateur identifié par %s n'a pu ê ErrorLoginHasNoEmail=Cet utilisateur n'a pas d'email. Impossible de continuer. ErrorBadValueForCode=Mauvaise valeur saisie pour le code. Réessayez avec une nouvelle valeur... ErrorBothFieldCantBeNegative=Les champs %s et %s ne peuvent être tous deux négatifs -ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. -ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a given VAT rate. -ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. +ErrorFieldCantBeNegativeOnInvoice=Le champ %s ne peut pas être négatif sur ce type de facture. Si vous devez ajouter une ligne de remise, créez d'abord la remise (à partir du champ '%s' dans la fiche du tiers) et appliquez-la à la facture. +ErrorLinesCantBeNegativeForOneVATRate=Le total des lignes ne peut pas être négatif pour un taux de TVA donné. +ErrorLinesCantBeNegativeOnDeposits=Les lignes ne peuvent pas être négatives dans un acompte. Si vous le faites, vous rencontrerez des problèmes lorsque vous devrez consommer l'acompte dans la facture finale. ErrorQtyForCustomerInvoiceCantBeNegative=La quantité d'une ligne ne peut pas être négative dans les factures clients ErrorWebServerUserHasNotPermission=Le compte d'exécution du serveur web %s n'a pas les permissions pour cela ErrorNoActivatedBarcode=Aucun type de code-barres activé @@ -229,12 +230,13 @@ ErrorFieldRequiredForProduct=Le champ '%s' est obligatoire pour le produit %s ProblemIsInSetupOfTerminal=Le problème est dans la configuration du terminal %s. ErrorAddAtLeastOneLineFirst=Ajouter d'abord au moins une ligne ErrorRecordAlreadyInAccountingDeletionNotPossible=Erreur, l'enregistrement est déjà transféré dans la comptabilité, la suppression n'est pas possible. -ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. -ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. -ErrorBatchNoFoundForProductInWarehouse=Aucun lot trouvé pour le produit "%s" dans l'entrepôt "%s". -ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Quantité insuffisante dans les lots pour le produit "%s" dans l'entepôt "%s". -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Erreur, la langue est obligatoire si vous définissez la page comme une traduction d'une autre. +ErrorLanguageOfTranslatedPageIsSameThanThisPage=Erreur, la langue de la page traduite est la même que celle-ci. +ErrorBatchNoFoundForProductInWarehouse=Aucun lot / série trouvé pour le produit "%s" dans l'entrepôt "%s". +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Pas assez de quantité pour ce lot / série pour le produit "%s" dans l'entrepôt "%s". +ErrorOnlyOneFieldForGroupByIsPossible=1 seul champ pour le 'Grouper par' est possible (les autres sont supprimés) +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Votre paramètre PHP upload_max_filesize (%s) est supérieur au paramètre PHP post_max_size (%s). Ceci n'est pas une configuration cohérente. WarningPasswordSetWithNoAccount=Un mot de passe a été fixé pour cet adhérent. Cependant, aucun compte d'utilisateur n'a été créé. Donc, ce mot de passe est stocké, mais ne peut être utilisé pour accéder à Dolibarr. Il peut être utilisé par un module/interface externe, mais si vous n'avez pas besoin de définir ni login ni mot de passe pour un adhérent, vous pouvez désactiver l'option «Gérer un login pour chaque adhérent" depuis la configuration du module Adhérents. Si vous avez besoin de gérer un login, mais pas de mot de passe, vous pouvez laisser ce champ vide pour éviter cet avertissement. Remarque: L'email peut également être utilisé comme login si l'adhérent est lié à un utilisateur. diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index af9016d25c6..9e0084ef7e4 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=PHP supporte l'extension Curl PHPSupportCalendar=Ce PHP supporte les extensions calendar. PHPSupportUTF8=Ce PHP prend en charge les fonctions UTF8. PHPSupportIntl=Ce PHP supporte les fonctions Intl. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Ce PHP prend en charge les fonctions %s. PHPMemoryOK=Votre mémoire maximum de session PHP est définie à %s. Ceci devrait être suffisant. PHPMemoryTooLow=Votre mémoire maximum de session PHP est définie à %s octets. Ceci est trop faible. Il est recommandé de modifier le paramètre memory_limit de votre fichier php.ini à au moins %s octets. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Votre version de PHP ne supporte pas l'extension Curl ErrorPHPDoesNotSupportCalendar=Votre installation de PHP ne supporte pas les extensions php calendar. ErrorPHPDoesNotSupportUTF8=Ce PHP ne prend pas en charge les fonctions UTF8. Résolvez le problème avant d'installer Dolibarr car il ne pourra pas fonctionner correctement. ErrorPHPDoesNotSupportIntl=Votre installation de PHP ne supporte pas les fonctions Intl. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Votre installation PHP ne prend pas en charge les fonctions %s. ErrorDirDoesNotExists=Le répertoire %s n'existe pas ou n'est pas accessible. ErrorGoBackAndCorrectParameters=Revenez en arrière et vérifiez / corrigez les paramètres. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=L'application essaie de se mettre à jour, mais l YouTryInstallDisabledByFileLock=L'application a tenté de se mettre à niveau automatiquement, mais les pages d'installation / de mise à niveau ont été désactivées pour des raisons de sécurité (grâce à l'existence d'un fichier de verrouillage install.lock dans le répertoire de documents dolibarr).
    ClickHereToGoToApp=Cliquez ici pour aller sur votre application ClickOnLinkOrRemoveManualy=Cliquez sur le lien suivant et si vous atteignez toujours cette page, vous devez supprimer manuellement le fichier install.lock dans le répertoire documents +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/fr_FR/link.lang b/htdocs/langs/fr_FR/link.lang index 8257300ada2..4534b8420e7 100644 --- a/htdocs/langs/fr_FR/link.lang +++ b/htdocs/langs/fr_FR/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Le lien %s a été supprimé ErrorFailedToDeleteLink= Impossible de supprimer le lien '%s' ErrorFailedToUpdateLink= Impossible de modifier le lien '%s' URLToLink=URL à lier +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/fr_FR/mails.lang b/htdocs/langs/fr_FR/mails.lang index 178b3dd421d..59999521019 100644 --- a/htdocs/langs/fr_FR/mails.lang +++ b/htdocs/langs/fr_FR/mails.lang @@ -25,7 +25,7 @@ ShowEMailing=Afficher emailing ListOfEMailings=Liste des emailings NewMailing=Nouvel emailing EditMailing=Éditer emailing -ResetMailing=Nouvel envoi +ResetMailing=Ré-envoyer emailing DeleteMailing=Supprimer emailing DeleteAMailing=Supprimer un emailing PreviewMailing=Prévisualiser emailing @@ -132,7 +132,7 @@ AddNewNotification=Activer un nouveau couple cible/évènement pour notification ListOfActiveNotifications=Liste des cibles/évènements actifs pour notification par emails ListOfNotificationsDone=Liste des notifications emails envoyées MailSendSetupIs=La configuration d'envoi d'emails a été définir sur '%s'. Ce mode ne peut pas être utilisé pour envoyer des e-mailing en masse. -MailSendSetupIs2=Vous devez d'abord aller, avec un compte d'administrateur, dans le menu %sAccueil - Configuration - EMails%s pour changer le paramètre '%s' pour utiliser le mode '%s'. Avec ce mode, vous pouvez accéder à la configuration du serveur SMTP fourni par votre fournisseur de services Internet et utiliser la fonction d'envoi d'email en masse. +MailSendSetupIs2=Vous devez d'abord aller, avec un compte d'administrateur, dans le menu %sAccueil - Configuration - EMails%s pour changer le paramètre '%s' pour utiliser le mode '%s'. Avec ce mode, vous pouvez entrer le paramétrage du serveur SMTP fourni par votre fournisseur de services Internet et utiliser la fonction d'envoi d'email en masse. MailSendSetupIs3=Si vous avez des questions sur la façon de configurer votre serveur SMTP, vous pouvez demander à %s. YouCanAlsoUseSupervisorKeyword=Vous pouvez également ajouter le mot-clé __SUPERVISOREMAIL__ pour avoir les emails envoyés au responsable hiérarchique de l'utilisateur (ne fonctionne que si un email est défini pour ce responsable) NbOfTargetedContacts=Nombre courant d'emails de contacts cibles @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Pas de contact/adresses avec cette catégorie NoContactLinkedToThirdpartieWithCategoryFound=Pas de contact/adresses associés à un ters avec cette catégorie OutGoingEmailSetup=Configuration email sortant InGoingEmailSetup=Configuration email entrant -OutGoingEmailSetupForEmailing=Configuration des e-mail sortant (pour les e-mails de masse) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Configuration des emails sortant Information=Information ContactsWithThirdpartyFilter=Contacts ayant pour tiers diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index d3f86678f25..611d27d7723 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Enregistrer et rester SaveAndNew=Enregistrer et nouveau TestConnection=Tester la connexion ToClone=Cloner +ConfirmCloneAsk=Voulez-vous vraiment cloner l'objet %s ? ConfirmClone=Veuillez choisir votre option de clonage : NoCloneOptionsSpecified=Aucun option de clonage n'a été spécifiée. Of=du @@ -352,8 +353,8 @@ PriceUTTC=P.U TTC Amount=Montant AmountInvoice=Montant facture AmountInvoiced=Montant facturé -AmountInvoicedHT=Amount invoiced (incl. tax) -AmountInvoicedTTC=Amount invoiced (excl. tax) +AmountInvoicedHT=Montant facturé (TTC) +AmountInvoicedTTC=Montant facturé (HT) AmountPayment=Montant paiement AmountHTShort=Montant HT AmountTTCShort=Montant TTC @@ -829,6 +830,8 @@ Gender=Genre Genderman=Homme Genderwoman=Femme ViewList=Vue liste +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obligatoire Hello=Bonjour GoodBye=Au revoir @@ -856,7 +859,7 @@ Export=Exporter Exports=Exports ExportFilteredList=Exporter liste filtrée ExportList=Exporter liste -ExportOptions=Options d'exportation +ExportOptions=Options d'export IncludeDocsAlreadyExported=Inclure les documents déjà exportés ExportOfPiecesAlreadyExportedIsEnable=L'exportation de pièces déjà exportées est activée ExportOfPiecesAlreadyExportedIsDisable=L'exportation des pièces déjà exportées est désactivée @@ -884,7 +887,7 @@ WebSiteAccounts=Comptes de site web ExpenseReport=Note de frais ExpenseReports=Notes de frais HR=HR -HRAndBank=HR et banque +HRAndBank=Salarié AutomaticallyCalculated=Calculé automatiquement TitleSetToDraft=Retour à l'état de brouillon ConfirmSetToDraft=Etes vous sûr de vouloir revenir à l'état Brouillon ? @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Sélectionnez vos options de graphique pour construi Measures=Mesures XAxis=Axe X YAxis=Axe Y +StatusOfRefMustBe=Le statut de %s doit être %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index e1a9a124f7e..022e9f0207e 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -30,11 +30,11 @@ PreviousYearOfInvoice=Année précédente de la date de facturation NextYearOfInvoice=Année suivante de la date de facturation DateNextInvoiceBeforeGen=Date de la prochaine génération (avant génération) DateNextInvoiceAfterGen=Date de la prochaine facture (après génération) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. +GraphInBarsAreLimitedToNMeasures=Les graphiques sont limités à %s mesures en mode 'Bars'. Le mode "Lignes" a été automatiquement sélectionné à la place. OnlyOneFieldForXAxisIsPossible=1 seul champ est actuellement possible en tant qu'axe X. Seul le premier champ sélectionné a été choisi. -AtLeastOneMeasureIsRequired=At least 1 field for measure is required -AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +AtLeastOneMeasureIsRequired=Au moins 1 champ de mesure est requis +AtLeastOneXAxisIsRequired=Au moins 1 champ pour l'axe X est requis +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Validation commande client Notify_ORDER_SENTBYMAIL=Envoi commande client par email Notify_ORDER_SUPPLIER_SENTBYMAIL=Envoi commande fournisseur par email @@ -108,7 +108,7 @@ DemoFundation=Gestion des adhérents d'une association DemoFundation2=Gestion des adhérents et trésorerie d'une association DemoCompanyServiceOnly=Société ou indépendant faisant du service uniquement DemoCompanyShopWithCashDesk=Gestion d'un magasin avec caisse -DemoCompanyProductAndStocks=Magasin de vente de produits avec point de vente +DemoCompanyProductAndStocks=Magasin vendant des produits via points de vente DemoCompanyManufacturing=Société de fabrication de produits DemoCompanyAll=Société avec de multiples activités (tous les modules principaux) CreatedBy=Créé par %s @@ -190,7 +190,7 @@ NumberOfSupplierProposals=Nombre de demandes de prix NumberOfSupplierOrders=Nombre de commandes fournisseurs NumberOfSupplierInvoices=Nombre de factures fournisseurs NumberOfContracts=Nombre de contrats -NumberOfMos=Number of manufacturing orders +NumberOfMos=Nombre d'ordres de fabrication NumberOfUnitsProposals=Quantités présentes dans les propositions commerciales NumberOfUnitsCustomerOrders=Quantités présentes dans les commandes clients NumberOfUnitsCustomerInvoices=Quantités présentes dans les factures clients @@ -198,7 +198,7 @@ NumberOfUnitsSupplierProposals=Quantités présentes dans les demande de prix NumberOfUnitsSupplierOrders=Quantités présentes dans les commandes fournisseurs NumberOfUnitsSupplierInvoices=Quantités présentes dans les factures fournisseurs NumberOfUnitsContracts=Nombre d'unités en contrat -NumberOfUnitsMos=Number of units to produce in manufacturing orders +NumberOfUnitsMos=Nombre d'unités à produire dans les ordres de fabrication EMailTextInterventionAddedContact=Une nouvelle intervention %s vous a été assignée EMailTextInterventionValidated=La fiche intervention %s vous concernant a été validée. EMailTextInvoiceValidated=La facture %s vous concernant a été validée. @@ -274,13 +274,13 @@ WEBSITE_PAGEURL=URL de la page WEBSITE_TITLE=Titre WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Chemin relatif du média image. Vous pouvez garder ce champ vide car il est rarement utilisé (cela peut être utilisé par du contenu dynamique pour afficher un aperçu de page de type "blog_post"). Utilisez la chaine __WEBSITEKEY__ dans le chemin si le chemin dépend du nom du site web. +WEBSITE_IMAGEDesc=Chemin relatif du média image. Vous pouvez garder ce champ vide car il est rarement utilisé (cela peut être utilisé par du contenu dynamique pour afficher un aperçu de page de type "blog_post"). Utilisez la chaîne __WEBSITE_KEY__ dans le chemin si le chemin dépend du nom du site web (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Mots clés LinesToImport=Lignes à importer MemoryUsage=Utilisation de la mémoire RequestDuration=Durée de la demande -PopuProp=Products/Services by popularity in Proposals -PopuCom=Products/Services by popularity in Orders -ProductStatistics=Products/Services Statistics -NbOfQtyInOrders=Qty in orders +PopuProp=Produits / services par popularité dans les propositions +PopuCom=Produits/services par popularité dans les commandes +ProductStatistics=Statistiques sur les produits / services +NbOfQtyInOrders=Qté en commandes diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index 02e4378f24d..9219eb2d1cd 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Cette page permet de modifier les taux de TVA définis MassBarcodeInit=Initialisation codes-barre MassBarcodeInitDesc=Cette page peut être utilisée pour initialiser un code-barre sur des objets qui ne disposent pas de code-barre défini. Vérifiez avant que l'installation du module code-barres est complète. ProductAccountancyBuyCode=Code comptable (achat) +ProductAccountancyBuyIntraCode=Code comptable (achat intra-communautaire) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Code comptable (vente) ProductAccountancySellIntraCode=Code comptable (vente intra-communautaire) ProductAccountancySellExportCode=Code comptable (vente à l'export) @@ -165,7 +167,7 @@ SuppliersPrices=Prix fournisseurs SuppliersPricesOfProductsOrServices=Prix fournisseurs (des produits ou services) CustomCode=Nomenclature douanière / Code SH CountryOrigin=Pays d'origine -Nature=Nature du produit (matière première / produit fini) +Nature=Nature of product (material/finished) ShortLabel=Libellé court Unit=Unité p=u. @@ -331,9 +333,9 @@ PossibleValues=Valeurs possibles GoOnMenuToCreateVairants=Allez sur le menu %s - %s pour ajouter les attributs de variantes (comme les couleurs, tailles, ...) UseProductFournDesc=Ajouter une fonctionnalité pour définir les descriptions des produits définies par les fournisseurs en plus des descriptions pour les clients ProductSupplierDescription=Description du fournisseur du produit -UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging -QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging +UseProductSupplierPackaging=Utiliser le conditionnement/emballage sur les prix fournisseur (recalculer les quantités en fonction de l'emballage défini sur le prix fournisseur lors de l'ajout / mise à jour de la ligne dans les documents fournisseurs) +PackagingForThisProduct=Emballage +QtyRecalculatedWithPackaging=La quantité de la ligne a été recalculée en fonction de l'emballage du fournisseur #Attributes VariantAttributes=Attributs de variante @@ -367,7 +369,7 @@ UsePercentageVariations=Utiliser les pourcentages de variation PercentageVariation=Variation de pourcentage ErrorDeletingGeneratedProducts=Une erreur s'est produite lors de la suppression des variantes existante de produits NbOfDifferentValues=Nb de valeurs différentes -NbProducts=Number of products +NbProducts=Nb de produits ParentProduct=Produit parent HideChildProducts=Cacher les variantes de produits ShowChildProducts=Afficher les variantes de produits @@ -380,4 +382,4 @@ ErrorProductCombinationNotFound=Variante du produit non trouvé ActionAvailableOnVariantProductOnly=Action disponible uniquement sur la variante du produit ProductsPricePerCustomer=Prix produit par clients ProductSupplierExtraFields=Attributs supplémentaires (Prix fournisseur) -DeleteLinkedProduct=Delete the child product linked to the combination +DeleteLinkedProduct=Supprimer le produit enfant lié à la combinaison diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 95bbee0cd22..c7720799935 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -39,8 +39,8 @@ ShowProject=Afficher projet ShowTask=Afficher tâche SetProject=Définir projet NoProject=Aucun projet défini ou responsable -NbOfProjects=Number of projects -NbOfTasks=Number of tasks +NbOfProjects=Nombre de projets +NbOfTasks=Nb de tâches TimeSpent=Temps consommé TimeSpentByYou=Temps consommé par vous TimeSpentByUser=Temps consommé par utilisateur @@ -87,8 +87,6 @@ WhichIamLinkedToProject=dont je suis contact de projet Time=Temps ListOfTasks=Liste de tâches GoToListOfTimeConsumed=Aller à la liste des temps consommés -GoToListOfTasks=Vue liste -GoToGanttView=Vue Gantt GanttView=Vue Gantt ListProposalsAssociatedProject=Liste des propositions commerciales associées au projet ListOrdersAssociatedProject=Liste des commandes clients associées au projet @@ -104,7 +102,7 @@ ListDonationsAssociatedProject=Liste des dons associés au projet ListVariousPaymentsAssociatedProject=Liste des paiements divers liés au projet ListSalariesAssociatedProject=Liste des paiements de salaires liés au projet ListActionsAssociatedProject=Liste des événements associés au projet -ListMOAssociatedProject=List of manufacturing orders related to the project +ListMOAssociatedProject=Liste des ordres de fabrication liées au projet ListTaskTimeUserProject=Liste du temps consommé sur les tâches d'un projet ListTaskTimeForTask=Liste du temps consommé sur les tâches ActivityOnProjectToday=Activité projet aujourd'hui @@ -188,7 +186,7 @@ PlannedWorkload=Charge de travail prévue PlannedWorkloadShort=Charge de travail ProjectReferers=Objets associés ProjectMustBeValidatedFirst=Le projet doit être validé d'abord -FirstAddRessourceToAllocateTime=Affecter un utilisateur pour saisir des temps +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Saisie par jour InputPerWeek=Saisie par semaine InputPerMonth=Saisie par mois @@ -240,6 +238,7 @@ LatestModifiedProjects=Les %s derniers projets modifiés OtherFilteredTasks=Autres tâches filtrées NoAssignedTasks=Aucune tâche assignée (assignez un projet/tâche à l'utilisateur depuis la liste déroulante utilisateur en haut pour pouvoir saisir du temps dessus) ThirdPartyRequiredToGenerateInvoice=Un tiers doit être défini sur le projet pour pouvoir le facturer. +ChooseANotYetAssignedTask=Choisissez une tâches qui ne vous pas encore assignée # Comments trans AllowCommentOnTask=Autoriser les utilisateurs à ajouter des commentaires sur les tâches AllowCommentOnProject=Autoriser les commentaires utilisateur sur les projets @@ -265,3 +264,4 @@ InvoiceToUse=Facture brouillon à utiliser NewInvoice=Nouvelle facture OneLinePerTask=Une ligne par tâche OneLinePerPeriod=Une ligne par période +RefTaskParent=Réf. Tâche parent diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang index d9e40866689..4cdb1b05cb3 100644 --- a/htdocs/langs/fr_FR/propal.lang +++ b/htdocs/langs/fr_FR/propal.lang @@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Contact client facturation proposition TypeContact_propal_external_CUSTOMER=Contact client suivi proposition TypeContact_propal_external_SHIPPING=Contact client pour la livraison # Document models -DocModelAzurDescription=Un modèle de proposition complet (ancienne implémentation du modèle Cyan) +DocModelAzurDescription=Un modèle de proposition complet DocModelCyanDescription=Un modèle de proposition complet DefaultModelPropalCreate=Modèle par défaut à la création DefaultModelPropalToBill=Modèle par défaut lors de la clôture d'une proposition commerciale (à facturer) diff --git a/htdocs/langs/fr_FR/receiptprinter.lang b/htdocs/langs/fr_FR/receiptprinter.lang index 23970db5ed7..8ed2664fa67 100644 --- a/htdocs/langs/fr_FR/receiptprinter.lang +++ b/htdocs/langs/fr_FR/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Imprimante Test CONNECTOR_NETWORK_PRINT=Imprimante réseau CONNECTOR_FILE_PRINT=Imprimante locale CONNECTOR_WINDOWS_PRINT=Imprimante Windows local +CONNECTOR_CUPS_PRINT=Imprimante Cups CONNECTOR_DUMMY_HELP=Fausse imprimante pour le test, ne fait rien CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=Nom de l'imprimante CUPS, exemple: HPRT_TP805L PROFILE_DEFAULT=Profil par défaut PROFILE_SIMPLE=Profil standard PROFILE_EPOSTEP=Profil Epos Tep @@ -55,9 +57,39 @@ DOL_UNDERLINE_DISABLED=Désactiver le souligné DOL_BEEP=Bruit de fond DOL_PRINT_TEXT=Imprimer le texte DOL_VALUE_DATE=Date facturation -DOL_VALUE_DATE_TIME=Invoice date and time -DOL_VALUE_YEAR=Invoice year -DOL_VALUE_MONTH_LETTERS=Invoice month in letters -DOL_VALUE_MONTH=Invoice month -DOL_VALUE_DAY=Invoice day -DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_VALUE_DATE_TIME=Date et heure de facturation +DOL_VALUE_YEAR=Année de facturation +DOL_VALUE_MONTH_LETTERS=Mois de facturation en lettres +DOL_VALUE_MONTH=Mois de facturation +DOL_VALUE_DAY=Jour de facturation +DOL_VALUE_DAY_LETTERS=Jour de facturation en lettres +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Réf facture +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Numéro de TVA intracommunautaire +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/fr_FR/stripe.lang b/htdocs/langs/fr_FR/stripe.lang index 27c220f7ec5..57b5c7e29ca 100644 --- a/htdocs/langs/fr_FR/stripe.lang +++ b/htdocs/langs/fr_FR/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nom du vendeur CSSUrlForPaymentForm=URL feuille style css pour le formulaire de paiement NewStripePaymentReceived=Nouveau paiement Stripe reçu NewStripePaymentFailed=Nouveau paiement Stripe tenté mais en échec +FailedToChargeCard=Échec d'encaissement de la carte STRIPE_TEST_SECRET_KEY=Clé secrète de test STRIPE_TEST_PUBLISHABLE_KEY=Clé plublique de test STRIPE_TEST_WEBHOOK_KEY=Clé test des Webhooks @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Lien pour la configuration de Stripe WebHook pour app ToOfferALinkForLiveWebhook=Lien pour la configuration de Stripe WebHook pour appeler l'IPN (mode actif) PaymentWillBeRecordedForNextPeriod=Le paiement sera enregistré pour la prochaine période. ClickHereToTryAgain=Cliquez ici pour essayer à nouveau... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/fr_FR/users.lang b/htdocs/langs/fr_FR/users.lang index 332306735cc..36c16959e50 100644 --- a/htdocs/langs/fr_FR/users.lang +++ b/htdocs/langs/fr_FR/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Utilisateurs et attributs DomainUser=Utilisateur du domaine %s Reactivate=Réactiver CreateInternalUserDesc=Ce formulaire permet de créer un utilisateur interne à votre société/institution. Pour créer un utilisateur externe (client, fournisseur, ...), utilisez le bouton 'Créer compte utilisateur' qui se trouve sur la fiche du contact du tiers. -InternalExternalDesc=Un utilisateur interne est un utilisateur qui fait partie de votre société/institution.
    Un utilisateur externe est un compte utilisateur pour une client, fournisseur ou autre.

    Dans les deux cas, les permissions déterminent les accès aux fonctionnalités de Dolibarr. De plus, les utilisateurs externes peuvent avoir un gestionnaire de menu différent des utilisateurs internes (Voir Accueil > configuration > Affichage) +InternalExternalDesc=Un utilisateur interne est un utilisateur qui fait partie de votre société/institution.
    Un utilisateur externe est un compte utilisateur pour un client, fournisseur ou autre (La création d'un utilisateur externe pour un tiers peut etre fait depuis la fiche d'un contact de tiers).

    Dans les deux cas, les permissions déterminent les accès aux fonctionnalités. De plus, les utilisateurs externes peuvent avoir un gestionnaire de menu différent des utilisateurs internes (Voir Accueil > configuration > Affichage) PermissionInheritedFromAGroup=La permission est accordée car héritée d'un groupe auquel appartient l'utilisateur. Inherited=Hérité UserWillBeInternalUser=L'utilisateur créé sera un utilisateur interne (car non lié à un tiers en particulier) @@ -110,3 +110,8 @@ UserLogged=Utilisateur connecté DateEmployment=Date d'embauche DateEmploymentEnd=Date de fin d'emploi CantDisableYourself=Vous ne pouvez pas désactiver votre propre compte utilisateur +ForceUserExpenseValidator=Forcer le valideur des notes de frais +ForceUserHolidayValidator=Forcer le valideur des congés +ValidatorIsSupervisorByDefault=Par défaut, le valideur est le responsable hiérarchique de l'utilisateur. Gardez vide pour conserver ce comportement. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/fr_FR/website.lang b/htdocs/langs/fr_FR/website.lang index 0ffa73a567c..ab903c9bc6a 100644 --- a/htdocs/langs/fr_FR/website.lang +++ b/htdocs/langs/fr_FR/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Pré-visualiser la page dans un nouvel onglet SetAsHomePage=Définir comme page d'accueil RealURL=URL réelle ViewWebsiteInProduction=Pré-visualiser le site web en utilisant l'URL de la page d'accueil -SetHereVirtualHost= Utilisation avec Apache/NGinx/...
    Si vous pouvez créer sur votre serveur Web (Apache, Nginx, ...) un hôte virtuel dédié avec PHP activé et un répertoire racine sur
    %s
    alors entrez le nom de l'hôte virtuel que vous avez créé dans les propriétés du site, ainsi l'aperçu pourra être fait en utilisant cette URL pour un accès via le serveur Web dédié plutôt que via le serveur interne Dolibarr. +SetHereVirtualHost= Utilisation avec Apache/NGinx/...
    Créez sur votre serveur Web (Apache, Nginx, ...) un hôte virtuel dédié avec PHP activé et un répertoire racine sur
    %s +ExampleToUseInApacheVirtualHostConfig=Exemple à utiliser dans la configuration de l'hôte virtuel Apache: YouCanAlsoTestWithPHPS= Utilisation avec un serveur PHP incorporé
    Sous environnement de développement, vous pouvez préférer tester le site avec le serveur Web PHP intégré (PHP 5.5 requis) en exécutant
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Exécutez votre site Web avec un autre fournisseur d'hébergement Dolibarr
    Si vous ne disposez pas d'un serveur Web tel qu'Apache ou NGinx sur Internet, vous pouvez exporter et importer votre site Web vers une autre instance de Dolibarr fournie par un autre fournisseur d'hébergement Dolibarr offrant une intégration complète avec le module de site Web. Vous pouvez trouver une liste de certains hébergeurs Dolibarr sur https://saas.dolibarr.org CheckVirtualHostPerms=Vérifiez également que le virtual host a la permission %s sur les fichiers dans %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Désolé, ce site est actuellement hors ligne. Me WEBSITE_USE_WEBSITE_ACCOUNTS=Activer la table des comptes du site Web WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Activer la table pour stocker les comptes de site Web (login / pass) pour chaque site web / tiers YouMustDefineTheHomePage=Vous devez d'abord définir la page d'accueil par défaut -OnlyEditionOfSourceForGrabbedContentFuture=Avertissement: La création d'une page Web en important une page Web externe est réservée à un utilisateur expérimenté. Selon la complexité de la page source, le résultat de l'importation peut différer une fois importé de l'original. De même, si la page source utilise un style CSS commun ou un code JavaScript non compatible, cela peut casser l'apparence ou les fonctionnalités de l'éditeur de site Web lorsque vous travaillez sur cette page. Cette méthode est un moyen plus rapide d’avoir une page, mais il est recommandé de créer votre nouvelle page à partir de rien ou à partir d’un modèle de page suggéré.
    Notez également que seule l’édition de la source HTML sera possible lorsqu’un contenu de page aura été initialisé par une capture d'une page externe (l'éditeur "en ligne" ne sera PAS disponible) +OnlyEditionOfSourceForGrabbedContentFuture=Avertissement: La création d'une page Web en important une page Web externe est réservée aux utilisateurs expérimentés. Selon la complexité de la page source, le résultat de l'importation peut différer une fois importé de l'original. De même, si la page source utilise un style CSS en conflit ou un code JavaScript non compatible, cela peut casser l'apparence ou les fonctionnalités de l'éditeur de site Web lorsque vous travaillez sur cette page. Cette méthode est un moyen plus rapide de créer une nouvelle page, mais il est recommandé de créer votre nouvelle page à partir de rien ou à partir d’un modèle de page suggéré.
    Notez également que seule l’éditeur en ligne peut ne pas fonctionner correctement quand il est utilisé sur une page créée par aspiration. OnlyEditionOfSourceForGrabbedContent=Seule l'édition de source HTML est possible lorsque le contenu a été aspiré depuis un site externe GrabImagesInto=Aspirer aussi les images trouvées dans les css et la page. ImagesShouldBeSavedInto=Les images doivent être sauvegardées dans le répertoire @@ -121,6 +122,9 @@ BackToHomePage=Retour à la page d'accueil... TranslationLinks=Liens de traduction YouTryToAccessToAFileThatIsNotAWebsitePage=Vous tentez d'accéder à une page qui n'est pas une page du site web UseTextBetween5And70Chars=Pour les bonnes pratiques de référencement, utilisez un texte de 5 à 70 caractères -MainLanguage=Main language -OtherLanguages=Other languages -UseManifest=Provide a manifest.json file +MainLanguage=Langage principal +OtherLanguages=Autres langues +UseManifest=Fournir un fichier manifest.json +PublicAuthorAlias=Alias publique de l'auteur +AvailableLanguagesAreDefinedIntoWebsiteProperties=Les langues disponibles sont définies dans les propriétés du site Web +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index 6f2a807d99a..854aae23e84 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=הערה: אין גבול מוגדר בתצורת שלך PHP MaxSizeForUploadedFiles=הגודל המקסימלי של קבצים שאפשר להעלות (0 לאסור על כל ההעלאה) UseCaptchaCode=השתמש בקוד גרפי (CAPTCHA) בדף הכניסה -AntiVirusCommand= הנתיב המלא האנטי וירוס הפקודה -AntiVirusCommandExample= דוגמה ClamWin: c: \\ progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe
    דוגמה ClamAV: / usr / bin / clamscan +AntiVirusCommand=הנתיב המלא האנטי וירוס הפקודה +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= פרמטרים נוספים על שורת הפקודה -AntiVirusParamExample= דוגמה עבור ClamWin: - מסד נתונים = "C: \\ קבצי תוכניות (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=מודול הנהלת חשבונות ההתקנה UserSetup=התקנה וניהול של המשתמש MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=התכונה זמינה ב דמו FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=האלמנטים היחידים של מודולים המאפשרים מוצגים. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=הפעל על @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=אזורים DictionaryCountry=מדינות DictionaryCurrency=מטבעות -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=שיעורי מע"מ או מכירות שיעורי מס @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=כברירת מחדל IRPF המוצע הוא 0. קץ שלטון. LocalTax2IsUsedExampleES=בספרד, פרילנסרים ובעלי מקצוע עצמאיים המספקים שירותים וחברות אשר בחרו במערכת המס של מודולים. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=לייבל שימוש כברירת מחדל אם לא התרגום ניתן למצוא את קוד LabelOnDocuments=התווית על מסמכים LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=ביקורת אבטחה אירועים Audit=ביקורת @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=מערכת מידע הוא מידע טכני שונות נכנסת למצב קריאה בלבד ונראה לעין עבור מנהלי בלבד. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=משתמשים מודול ההתקנה UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=חשבוניות ומסמכים מודלים BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=להכריח את תאריך החשבונית עד כה אימות -SuggestedPaymentModesIfNotDefinedInInvoice=תשלומים שהציע מצב בחשבונית כברירת מחדל, אם לא הוגדרו עבור חשבונית +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=טקסט חופשי על חשבוניות @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=מודול הצעות מסחרי ההתקנה ProposalsNumberingModules=הצעה מסחרית המונה מודולים ProposalsPDFModules=מסמכי ההצעה מודלים מסחריים -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=טקסט חופשי על הצעות מסחריות WatermarkOnDraftProposal=סימן מים על הצעות טיוטה מסחריים (כל אם ריק) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=הזמנות מספור מודולים OrdersModelModule=מסמכים הזמנת דגמים @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/he_IL/bills.lang b/htdocs/langs/he_IL/bills.lang index f5cef2fe190..758cad0418b 100644 --- a/htdocs/langs/he_IL/bills.lang +++ b/htdocs/langs/he_IL/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/he_IL/blockedlog.lang b/htdocs/langs/he_IL/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/he_IL/blockedlog.lang +++ b/htdocs/langs/he_IL/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/he_IL/cashdesk.lang b/htdocs/langs/he_IL/cashdesk.lang index 211154918de..d1fd7b33150 100644 --- a/htdocs/langs/he_IL/cashdesk.lang +++ b/htdocs/langs/he_IL/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/he_IL/companies.lang b/htdocs/langs/he_IL/companies.lang index 8fe6ed3f84e..26a5eb3958e 100644 --- a/htdocs/langs/he_IL/companies.lang +++ b/htdocs/langs/he_IL/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/he_IL/compta.lang b/htdocs/langs/he_IL/compta.lang index 6a854e6fa80..bea3663aff1 100644 --- a/htdocs/langs/he_IL/compta.lang +++ b/htdocs/langs/he_IL/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index 637f67fbab7..42f8f5149de 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/he_IL/link.lang b/htdocs/langs/he_IL/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/he_IL/link.lang +++ b/htdocs/langs/he_IL/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/he_IL/mails.lang b/htdocs/langs/he_IL/mails.lang index 97db492d7e8..6da35178dd2 100644 --- a/htdocs/langs/he_IL/mails.lang +++ b/htdocs/langs/he_IL/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index b4865808ee6..caa57ce5e5a 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/he_IL/other.lang b/htdocs/langs/he_IL/other.lang index f6e81db4cc1..580d977179a 100644 --- a/htdocs/langs/he_IL/other.lang +++ b/htdocs/langs/he_IL/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=תאור WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index 3e5d6cac9c1..f883b0823e1 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index be41a714872..dd2e3b9d0f2 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/he_IL/receiptprinter.lang b/htdocs/langs/he_IL/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/he_IL/receiptprinter.lang +++ b/htdocs/langs/he_IL/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/he_IL/stripe.lang b/htdocs/langs/he_IL/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/he_IL/stripe.lang +++ b/htdocs/langs/he_IL/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/he_IL/users.lang b/htdocs/langs/he_IL/users.lang index 990140b3232..107e604ded1 100644 --- a/htdocs/langs/he_IL/users.lang +++ b/htdocs/langs/he_IL/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/he_IL/website.lang b/htdocs/langs/he_IL/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/he_IL/website.lang +++ b/htdocs/langs/he_IL/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index 00393affd11..b8fe65b6f57 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Napomena: Limit nije podešen u vašoj PHP konfiguraciji MaxSizeForUploadedFiles=Maksimalna veličina datoteka za upload (0 onemogučuje bilokakav upload) UseCaptchaCode=Koristi grafički kod (CAPTCHA) na stranici za prijavu -AntiVirusCommand= Puna putanja do antivirusne komande -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Puna putanja do antivirusne komande +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Dodatni parametri za komandnu liniju -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Podešavanje modula računovodstva UserSetup=Podešavanje upravljanja korisnicima MultiCurrencySetup=Podešavanje više valuta @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Mogućnost onemogućena u demo verziji FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Prikazani su samo elementi sa omogučenih modula -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Možete pronaći više modula za download na vanjskim internet web lokacijama ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Nađi vanjske aplikacije/module @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Dostupni dodaci BoxesActivated=Aktivirani dodaci ActivateOn=Aktiviraj na @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Ostavite prazno za zadane vrijednosti DefaultLink=Default link SetAsDefault=Postavi kao zadano ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=Vanjski modul - Instaliran u mapi %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Masovno postavljanje ili promjena barkodova usluga i proizvoda CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regije DictionaryCountry=Zemlje DictionaryCurrency=Valute -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Tipovi događaja agende DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Stope PDV-a ili stope prodajnih poreza @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Stopa LocalTax1IsNotUsed=Nemoj koristit drugi porez LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Kao zadano preporučeni IRPF je 0. Kraj prvila. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Izvještaji o lokalnim porezima CalcLocaltax1=Prodaja - Nabava CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Nabava CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Prodaja CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Oznake korištene kao zadane ako ne postoji prijevoda za kod LabelOnDocuments=Oznake na dokumentima LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Pregled sigurnosnih događaja Audit=Revizija @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Podešavanje modula korisnka UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Podešavanje modula HRM ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Model dokumenata računa BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Forsiraj datum računa kao datum ovjere -SuggestedPaymentModesIfNotDefinedInInvoice=Predloženi način plačanja na računu kao zadano ako nije definirano za račun +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Slobodan unos teksta na računu @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Podešavanje modula ponuda ProposalsNumberingModules=Modeli brojeva ponuda ProposalsPDFModules=Modeli dokumenta ponuda -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Slobodan unos teksta na ponudi WatermarkOnDraftProposal=Vodeni žig na skici ponude (ako nije prazno) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Traži odredišni bankovni račun ponude @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Upitaj za izvorno skladište za narudžbe ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Postavke upravljanja narudžbenicama OrdersNumberingModules=Način označavanja narudžba OrdersModelModule=Model dokumenata narudžba @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/hr_HR/bills.lang b/htdocs/langs/hr_HR/bills.lang index 6783733932e..5631061f309 100644 --- a/htdocs/langs/hr_HR/bills.lang +++ b/htdocs/langs/hr_HR/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Ulazni računi SupplierBill=Ulazni račun SupplierBills=Ulazni računi Payment=Plaćanja -PaymentBack=Isplata -CustomerInvoicePaymentBack=Isplata +PaymentBack=Povrat +CustomerInvoicePaymentBack=Povrat Payments=Plaćanja PaymentsBack=Refunds paymentInInvoiceCurrency=u valuti računa PaidBack=Uplaćeno natrag DeletePayment=Izbriši plaćanje ConfirmDeletePayment=Sigurno želite izbrisati ovo plaćanje? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Primljene uplate @@ -219,7 +219,10 @@ ShowInvoiceSituation=Prikaži račun etape UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Plati ToMakePaymentBack=Povrat ListOfYourUnpaidInvoices=Popis neplaćenih računa NoteListOfYourUnpaidInvoices=Napomena: Ovaj popis sadrži samo račune za komitente kojima ste vi prodajni predstavnik -RevenueStamp=Prihodovna markica +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=Kako biste izradili novi predložak računa morate prvo izraditi običan račun i onda ga promijeniti u "predložak" -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=PDF račun prema Crevette predlošku. Kompletan predložak računa za etape TerreNumRefModelDesc1=Vraća broj u formatu %syymm-nnnn za standardne račune i %syymm-nnnn za odobrenja gdje je yy godina, mm je mjesec i nnnn je sljedni broj bez prekida i bez mogučnosti povratka na 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Račun obrisan +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/hr_HR/blockedlog.lang b/htdocs/langs/hr_HR/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/hr_HR/blockedlog.lang +++ b/htdocs/langs/hr_HR/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/hr_HR/cashdesk.lang b/htdocs/langs/hr_HR/cashdesk.lang index 200a99c3d40..efcc63b0adc 100644 --- a/htdocs/langs/hr_HR/cashdesk.lang +++ b/htdocs/langs/hr_HR/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Dodaj ovu stavku RestartSelling=Povratak na prodaju SellFinished=Sale complete PrintTicket=Ispis računa +SendTicket=Send ticket NoProductFound=Stavka nije pronađena ProductFound=Proizvod pronađen NoArticle=Nema stavke @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Broj računa Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Preglednik BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/hr_HR/companies.lang b/htdocs/langs/hr_HR/companies.lang index 691cbe562de..7606871ab5c 100644 --- a/htdocs/langs/hr_HR/companies.lang +++ b/htdocs/langs/hr_HR/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Tvrtka "%s" izbrisana iz baze. ListOfContacts=Popis kontakata/adresa ListOfContactsAddresses=Popis kontakata/adresa ListOfThirdParties=Popis trećih osoba -ShowCompany=Show Third Party ShowContact=Prikaži kontakt ContactsAllShort=Sve(bez filtera) ContactType=Vrsta kontakta @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Ime prodajnog predstavnika SaleRepresentativeLastname=Prezime prodajnog predstavnika ErrorThirdpartiesMerge=Došlo je do greške tijekom brisanja treće osobe. Molim provjerite zapis. Izmjene su povraćene. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Rok plaćanja - kupac diff --git a/htdocs/langs/hr_HR/compta.lang b/htdocs/langs/hr_HR/compta.lang index 897da7b6b27..ba2536a8dba 100644 --- a/htdocs/langs/hr_HR/compta.lang +++ b/htdocs/langs/hr_HR/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=Prikazani iznosi su sa uključenim svim porezima -RulesResultDue=- Uključuje neplačene račune, troškove, PDV, donacije bez obzira da li su plaćene ili ne. Također uključuje isplačene plaće.
    - Baziran je na datumu ovjere računa i PDV i po datumu dospjeća troškova. Za plaće definirane sa modulom Plaća, koristi se vrijednost datuma isplate. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Uključuje stvarne uplate po računima, troškove, PDV i plaće.
    - Baziran je po datumu plaćanja računa, troškova, PDV-a i plaćama. Datum donacje za donacije. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Kratka oznaka +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index 7c474631e5d..d6fc3f95da2 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index 35ae3c62b90..763892bfb5f 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/hr_HR/link.lang b/htdocs/langs/hr_HR/link.lang index 9e5eb0d2868..ee140b37440 100644 --- a/htdocs/langs/hr_HR/link.lang +++ b/htdocs/langs/hr_HR/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Veza %s je obrisana ErrorFailedToDeleteLink= Neuspješno brisanje veze '%s' ErrorFailedToUpdateLink= Neuspješna promjena veze '%s' URLToLink=URL prema vezi +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/hr_HR/mails.lang b/htdocs/langs/hr_HR/mails.lang index 89ef9388cf4..6595e1154c2 100644 --- a/htdocs/langs/hr_HR/mails.lang +++ b/htdocs/langs/hr_HR/mails.lang @@ -1,20 +1,20 @@ # Dolibarr language file - Source file is en_US - mails -Mailing=EMailing -EMailing=EMailing -EMailings=EMailings -AllEMailings=All eMailings -MailCard=EMailing card -MailRecipients=Recipients +Mailing=elektronička pošta +EMailing=elektronička pošta +EMailings=elektronička pošta +AllEMailings=Sva elektronička pošta +MailCard=Kartica elektroničke pošte +MailRecipients=Primatelji MailRecipient=Primatelj MailTitle=Opis MailFrom=Pošiljatelj -MailErrorsTo=Errors to -MailReply=Reply to -MailTo=Receiver(s) -MailToUsers=To user(s) -MailCC=Copy to -MailToCCUsers=Copy to users(s) -MailCCC=Cached copy to +MailErrorsTo=Pogreške +MailReply=Odgovoriti na +MailTo=Primatelj(i) +MailToUsers=Korisnicima +MailCC=Kopirajte u +MailToCCUsers=Kopirajte korisniku(cima) +MailCCC=Predmemorirana kopija u MailTopic=Email topic MailText=Poruka MailFile=Attached files @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Podatak ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 59aedeecba8..cbc8e21d8c2 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Provjera veze ToClone=Kloniraj +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Izaberite podatke koje želite klonirati: NoCloneOptionsSpecified=Podaci za kloniranje nisu izabrani. Of=od @@ -829,6 +830,8 @@ Gender=Spol Genderman=Muško Genderwoman=Žensko ViewList=Pregled popisa +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obavezno Hello=Pozdrav GoodBye=Doviđenja! @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/hr_HR/orders.lang b/htdocs/langs/hr_HR/orders.lang index 55004de52bb..3c704a81c68 100644 --- a/htdocs/langs/hr_HR/orders.lang +++ b/htdocs/langs/hr_HR/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=E-pošta OrderByWWW=Online OrderByPhone=Telefon # Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) +PDFEinsteinDescription=A complete order model PDFEratostheneDescription=A complete order model PDFEdisonDescription=Jednostavan model narudžbe PDFProformaDescription=A complete Proforma invoice template diff --git a/htdocs/langs/hr_HR/other.lang b/htdocs/langs/hr_HR/other.lang index 6b16495c105..eafd337d32b 100644 --- a/htdocs/langs/hr_HR/other.lang +++ b/htdocs/langs/hr_HR/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Naslov WEBSITE_DESCRIPTION=Opis WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index 87fa7195895..cea95c3fd23 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Masovni init barkoda MassBarcodeInitDesc=Ova stranica se može koristiti za inicijalizaciju barkoda na objektima koji nemaju definiran barkod. Provjerite prije da li su postavke barcode modula podešene. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Zemlja porijekla -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Kratka oznaka Unit=Jedinica p=j. diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index 7bff5b50088..05b5aaff31a 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=projekt s kojim sam povezan Time=Vrijeme ListOfTasks=Popis zadataka GoToListOfTimeConsumed=Idi na popis utrošenog vremena -GoToListOfTasks=Prikaži kao popis -GoToGanttView=Prikaži kao gantogram (vremenski plan) GanttView=Gantogram ListProposalsAssociatedProject=Popis komercijalnih prijedloga vezanih za projekt ListOrdersAssociatedProject=Popis narudžbenica vezanih za projekt @@ -188,7 +186,7 @@ PlannedWorkload=Planirano opterećenje PlannedWorkloadShort=Opterećenje ProjectReferers=Povezane stavke ProjectMustBeValidatedFirst=Projekt mora biti prvo ovjeren -FirstAddRessourceToAllocateTime=Dodjeli korisnka u zadatak za alokaciju vremena +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Unos po danu InputPerWeek=Unos po tjednu InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Najnoviji %s modificirani projekti OtherFilteredTasks=Ostali filtrirani zadaci NoAssignedTasks=Nisu pronađeni zadani zadaci (dodijelite projekt / zadatke trenutnom korisniku iz gornjeg okvira za odabir da biste unijeli vrijeme u njega) ThirdPartyRequiredToGenerateInvoice=Treća strana mora biti definirana na projektu kako bi mogli fakturirati. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Dopusti napomene korisnika na zadatke AllowCommentOnProject=Dopusti napomene korisnika na projekte @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Novi račun OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/hr_HR/propal.lang b/htdocs/langs/hr_HR/propal.lang index f9f9edf6dab..ed134477f08 100644 --- a/htdocs/langs/hr_HR/propal.lang +++ b/htdocs/langs/hr_HR/propal.lang @@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Kontakt osoba pri kupcu za račun TypeContact_propal_external_CUSTOMER=Kontakt osoba pri kupcu za ponudu TypeContact_propal_external_SHIPPING=Customer contact for delivery # Document models -DocModelAzurDescription=A complete proposal model (old implementation of Cyan template) +DocModelAzurDescription=A complete proposal model DocModelCyanDescription=A complete proposal model DefaultModelPropalCreate=Izrada osnovnog modela DefaultModelPropalToBill=Osnovni predložak prilikom zatvaranja poslovne ponude (za naplatu) diff --git a/htdocs/langs/hr_HR/receiptprinter.lang b/htdocs/langs/hr_HR/receiptprinter.lang index 7c8379f37af..02eea48a645 100644 --- a/htdocs/langs/hr_HR/receiptprinter.lang +++ b/htdocs/langs/hr_HR/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Mrežni pisač CONNECTOR_FILE_PRINT=Lokalni pisač CONNECTOR_WINDOWS_PRINT=Lokalni Windows pisač +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Lažni pisač za test, ne radi ništa CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Predefinirani profil PROFILE_SIMPLE=Jednostavan profil PROFILE_EPOSTEP=EPOS TEP profil @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Broj računa +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/hr_HR/stripe.lang b/htdocs/langs/hr_HR/stripe.lang index 1bb6a024d47..1aeada94d38 100644 --- a/htdocs/langs/hr_HR/stripe.lang +++ b/htdocs/langs/hr_HR/stripe.lang @@ -32,6 +32,7 @@ VendorName=Naziv pružatelja CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/hr_HR/users.lang b/htdocs/langs/hr_HR/users.lang index 4adcbad88a9..cf47e5c7710 100644 --- a/htdocs/langs/hr_HR/users.lang +++ b/htdocs/langs/hr_HR/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Korisnik na domeni %s Reactivate=Reaktiviraj CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Dozvola odobrena jer je nasljeđeno od jedne od korisničkih grupa. Inherited=Nasljeđeno UserWillBeInternalUser=Kreirani korisnik će biti interni korisnik (jer nije vezan za određenog komitenta) @@ -113,3 +113,5 @@ CantDisableYourself=You can't disable your own user record ForceUserExpenseValidator=Force expense report validator ForceUserHolidayValidator=Force leave request validator ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/hr_HR/website.lang b/htdocs/langs/hr_HR/website.lang index 66882d8ee7f..d7acd018105 100644 --- a/htdocs/langs/hr_HR/website.lang +++ b/htdocs/langs/hr_HR/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Pogledaj stranicu u novom tabu SetAsHomePage=Postavi kao početnu stranicu RealURL=Pravi URL ViewWebsiteInProduction=Pogledaj web lokaciju koristeći URL naslovnice -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index e01ebc06bc2..bc4e1be3552 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Megjegyzés: az Ön PHP konfigurációjában j NoMaxSizeByPHPLimit=Megjegyzés: A PHP konfigurációban nincs beállítva korlátozás MaxSizeForUploadedFiles=A feltöltött fájlok maximális mérete (0 megtiltja a feltöltést) UseCaptchaCode=Grafikus kód (CAPTCHA) használata a bejelentkezési oldalon -AntiVirusCommand= A vírusirtó parancs teljes elérési útvonala -AntiVirusCommandExample= Példa ClamWin esetére: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Példa ClamAV esetére: /usr/bin/clamscan +AntiVirusCommand=A vírusirtó parancs teljes elérési útvonala +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= A parancssor további paraméterei -AntiVirusParamExample= Példa ClamWin esetére: -database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Számviteli modul beállítása UserSetup=Felhasználói beállítások kezelése MultiCurrencySetup=Több valuta beállítása @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Demó módban kikapcsolva FeatureAvailableOnlyOnStable=A szolgáltatás csak a hivatalos stabil verziókban érhető el BoxesDesc=A modulok olyan összetevők, amelyek információkat mutatnak, s hozzáadhatóak az oldalak testreszabásához. Választhat úgy, hogy megjelenik-e a modul, vagy nem, ha kiválasztja a céloldalt és kattint az 'Aktiválás' gombra, vagy a kukára kattintva tilthatja le azt. OnlyActiveElementsAreShown=Csak a bekapcsolt modulok elemei jelennek meg. -ModulesDesc=A modulok / alkalmazások határozzák meg, hogy mely szolgáltatások érhetők el a szoftverben. Néhány modulhoz engedély szükséges a felhasználók számára a modul aktiválása után. Kattintson a be / ki gombra (a modul sor végén) a modul / alkalmazás engedélyezéséhez / letiltásához. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Az interneten további modulokat találhat... ModulesDeployDesc=Ha a fájlrendszer engedélyei ezt lehetővé teszik, akkor ezt az eszközt használhatja egy külső modul telepítéséhez. A modul ezután a %s fülön lesz látható. ModulesMarketPlaces=Külső alkalmazások / modulok keresése @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatibilis a(z) %s verzióval NotCompatible=Ez a modul nem tűnik kompatibilisnek a Dolibarr %s verzióval (Min %s - Max %s). CompatibleAfterUpdate=Ehhez a modulhoz frissíteni kell a Dolibarr %s-t (Min %s - Max %s). SeeInMarkerPlace=Lásd a piactéren +SeeSetupOfModule=Lásd a %s modul beállításait Updated=Frissítve Nouveauté=Újdonság AchatTelechargement=Vásárlás / Letöltés @@ -221,6 +222,7 @@ DoliPartnersDesc=Az egyedi fejlesztésű modulokat vagy funkciókat kínáló c WebSiteDesc=Külső webhelyek további kiegészítő (nem alapvető) modulokhoz ... DevelopYourModuleDesc=Néhány javaslat a saját modul fejlesztésére ... URL=URL elérési út +RelativeURL=Relative URL BoxesAvailable=Elérhető widgetek BoxesActivated=Aktivált widgetek ActivateOn=Aktiválás @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Az alapérték használatához hagyja üresen DefaultLink=Alapértelmezett hivatkozás SetAsDefault=Beállítás alapértelmezettként ValueOverwrittenByUserSetup=Figyelem, ezt az értéket a felhasználó-specifikus beállítás felülírhatja (minden felhasználó beállíthatja saját clicktodial URL-jét) -ExternalModule=Külső modul - Telepítve a(z) %s könyvtárba +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Tömeges vonalkód készítése partnereknek BarcodeInitForProductsOrServices=A termékek vagy szolgáltatások tömeges vonalkód-indítása vagy visszaállítása CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=Államok / Tartományok DictionaryRegion=Régiók DictionaryCountry=Országok DictionaryCurrency=Pénznemek -DictionaryCivility=Udvarias megszólítás +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=HÉA-kulcsok vagy Értékesítés adókulcsok @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Arány LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Alapértelmezésben a javasolt IRPF 0. Vége a szabály. LocalTax2IsUsedExampleES=Spanyolországban, szabadúszók és független szakemberek, akik szolgáltatásokat nyújtanak és a vállalatok akik úgy döntöttek, az adórendszer a modulok. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Beszerzések CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Eladások CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label az alap, ha nincs fordítás megtalálható a kód LabelOnDocuments=Címke dokumentumok LabelOrTranslationKey=Címke vagy fordítási kulcs @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Az "Egyéb beállítás" menü az opcionális paramétereket tartalmazza. LogEvents=Biztonsági audit események Audit=Könyvvizsgálat @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Rendszer információk különféle műszaki információkat kapunk a csak olvasható módban, és csak rendszergazdák számára látható. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Ha van külső könyvelője / könyvvizsgálója, itt szerkesztheti annak adatait. AccountantFileNumber=Könyvelői kód DisplayDesc=A Dolibarr kinézetét és viselkedését befolyásoló paraméterek itt módosíthatók. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=A jelszavak létrehozására és érvényesítésére DisableForgetPasswordLinkOnLogonPage=Ne jelenítse meg az "Elfelejtett jelszó" linket a Bejelentkezés oldalon UsersSetup=Felhasználók modul beállítása UserMailRequired=Új felhasználó létrehozásához e-mail szükséges +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM modul beállításai ##### Company setup ##### @@ -1282,10 +1292,10 @@ CompanyIdProfChecker=Rules for Professional IDs MustBeUnique=Egyedinek kell lennie? MustBeMandatory=Mandatory to create third parties (if VAT number or type of company defined) ? MustBeInvoiceMandatory=Mandatory to validate invoices? -TechnicalServicesProvided=Technical services provided +TechnicalServicesProvided=Technikai szolgáltatások #####DAV ##### WebDAVSetupDesc=This is the link to access the WebDAV directory. It contains a "public" dir open to any user knowing the URL (if public directory access allowed) and a "private" directory that needs an existing login account/password for access. -WebDavServer=Root URL of %s server: %s +WebDavServer=A(z) %s szerver gyökér URL-je: %s ##### Webcal setup ##### WebCalUrlForVCalExport=Az export linket %s formátumban elérhető a következő linkre: %s ##### Invoices ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Számla dokumentumok modellek BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Kényszer számla keltétől annak érvényességét -SuggestedPaymentModesIfNotDefinedInInvoice=Javasolt fizetési mód a számlát az alap, ha nincs meg a számla +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Szabad szöveg a számlán @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=A kereskedelmi modul beállítási javaslatok ProposalsNumberingModules=Üzleti ajánlat számozási modulok ProposalsPDFModules=Üzleti ajánlat dokumentumok modellek -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Megrendelés számozási modulok OrdersModelModule=Rendelés dokumentumok modellek @@ -1417,69 +1428,69 @@ LDAPTestSynchroMemberType=Test member type synchronization LDAPTestSearch= Test a LDAP search LDAPSynchroOK=A szinkronizálás sikeres teszt LDAPSynchroKO=Nem sikerült a szinkronizálás teszt -LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that the connection to the server is correctly configured and allows LDAP updates +LDAPSynchroKOMayBePermissions=Nem sikerült a szinkronizálási teszt. Ellenőrizze, hogy a szerverrel való kapcsolat megfelelően van-e konfigurálva, és lehetővé teszi-e az LDAP frissítéseket LDAPTCPConnectOK=TCP csatlakozni az LDAP szerver sikeres (= %s Server, Port = %s) LDAPTCPConnectKO=TCP csatlakozni az LDAP kiszolgáló nem (Server = %s, Port = %s) -LDAPBindOK=Connect/Authenticate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPBindKO=Connect/Authenticate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindOK=Csatlakozás/hitelesítés az LDAP szerverhez sikeres (Szerver = %s, Port = %s, Rendszergazda = %s, Jelszó = %s) +LDAPBindKO=Csatlakozás/hitelesítés az LDAP szerverhez sikertelen (Szerver = %s, Port = %s, Rendszergazda = %s, Jelszó = %s) LDAPSetupForVersion3=LDAP-kiszolgáló konfigurálva a 3-as verzió LDAPSetupForVersion2=LDAP-kiszolgáló konfigurálva a 2-es verziója LDAPDolibarrMapping=Dolibarr Mapping LDAPLdapMapping=LDAP Mapping LDAPFieldLoginUnix=Bejelentkezés (unix) -LDAPFieldLoginExample=Example: uid +LDAPFieldLoginExample=Példa: uid LDAPFilterConnection=Keresés szűrő -LDAPFilterConnectionExample=Example: &(objectClass=inetOrgPerson) +LDAPFilterConnectionExample=Példa: &(objectClass=inetOrgPerson) LDAPFieldLoginSamba=Bejelentkezés (samba, ActiveDirectoryba) -LDAPFieldLoginSambaExample=Example: samaccountname +LDAPFieldLoginSambaExample=Példa: samaccountname LDAPFieldFullname=Keresztnév -LDAPFieldFullnameExample=Example: cn -LDAPFieldPasswordNotCrypted=Password not encrypted -LDAPFieldPasswordCrypted=Password encrypted -LDAPFieldPasswordExample=Example: userPassword -LDAPFieldCommonNameExample=Example: cn +LDAPFieldFullnameExample=Példa: cn +LDAPFieldPasswordNotCrypted=A jelszó nincs titkosítva +LDAPFieldPasswordCrypted=A jelszó titkosítva +LDAPFieldPasswordExample=Példa: userPassword +LDAPFieldCommonNameExample=Példa: cn LDAPFieldName=Név -LDAPFieldNameExample=Example: sn +LDAPFieldNameExample=Példa: sn LDAPFieldFirstName=Keresztnév -LDAPFieldFirstNameExample=Example: givenName +LDAPFieldFirstNameExample=Példa: keresztnév LDAPFieldMail=E-mail cím -LDAPFieldMailExample=Example: mail +LDAPFieldMailExample=Példa: mail LDAPFieldPhone=Szakmai telefonszám -LDAPFieldPhoneExample=Example: telephonenumber +LDAPFieldPhoneExample=Példa: telefonszám LDAPFieldHomePhone=Személyes telefonszám -LDAPFieldHomePhoneExample=Example: homephone +LDAPFieldHomePhoneExample=Példa: otthonitelefon LDAPFieldMobile=Mobiltelefon -LDAPFieldMobileExample=Example: mobile +LDAPFieldMobileExample=Példa: mobil LDAPFieldFax=Faxszám -LDAPFieldFaxExample=Example: facsimiletelephonenumber +LDAPFieldFaxExample=Példa: telefaxtelefonszám LDAPFieldAddress=Utca -LDAPFieldAddressExample=Example: street +LDAPFieldAddressExample=Példa: utca LDAPFieldZip=Zip -LDAPFieldZipExample=Example: postalcode +LDAPFieldZipExample=Példa: irányítószám LDAPFieldTown=Város LDAPFieldTownExample=Example: l LDAPFieldCountry=Ország LDAPFieldDescription=Leírás -LDAPFieldDescriptionExample=Example: description -LDAPFieldNotePublic=Public Note -LDAPFieldNotePublicExample=Example: publicnote +LDAPFieldDescriptionExample=Példa: leírás +LDAPFieldNotePublic=Nyilvános jegyzet +LDAPFieldNotePublicExample=Példa: nyilvánosjegyzet LDAPFieldGroupMembers= A csoport tagjai LDAPFieldGroupMembersExample= Example: uniqueMember LDAPFieldBirthdate=Születésének LDAPFieldCompany=Vállalat -LDAPFieldCompanyExample=Example: o +LDAPFieldCompanyExample=Példa: o LDAPFieldSid=SID -LDAPFieldSidExample=Example: objectsid +LDAPFieldSidExample=Példa: objectsid LDAPFieldEndLastSubscription=Születési előfizetés vége LDAPFieldTitle=Állás pozíció -LDAPFieldTitleExample=Example: title -LDAPFieldGroupid=Group id -LDAPFieldGroupidExample=Exemple : gidnumber -LDAPFieldUserid=User id -LDAPFieldUseridExample=Exemple : uidnumber -LDAPFieldHomedirectory=Home directory -LDAPFieldHomedirectoryExample=Exemple : homedirectory -LDAPFieldHomedirectoryprefix=Home directory prefix +LDAPFieldTitleExample=Példa: cím +LDAPFieldGroupid=Csoportazonosító +LDAPFieldGroupidExample=Példa: gidnumber +LDAPFieldUserid=Felhasználói azonosító +LDAPFieldUseridExample=Példa: uidnumber +LDAPFieldHomedirectory=Kezdő könyvtár +LDAPFieldHomedirectoryExample=Példa: homedirectory +LDAPFieldHomedirectoryprefix=Kezdő könyvtár előtag LDAPSetupNotComplete=LDAP telepítés nem teljes (go másokra fül) LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Nem rendszergazdai jelszót vagy biztosított. LDAP hozzáférés lesz, névtelen és csak olvasható módba. LDAPDescContact=Ez az oldal lehetővé teszi, hogy meghatározza az LDAP attribútumok név LDAP fa minden egyes adat található Dolibarr kapcsolatok. @@ -1489,40 +1500,40 @@ LDAPDescMembers=Ez az oldal lehetővé teszi, hogy meghatározza az LDAP attrib LDAPDescMembersTypes=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members types. LDAPDescValues=Példaértékek tervezték OpenLDAP az alábbi betöltött sémák: core.schema, cosine.schema, inetorgperson.schema). Ha a thoose értékek és az OpenLDAP, módosíthatja az LDAP konfigurációs file slapd.conf hogy minden thoose sémák betöltve. ForANonAnonymousAccess=A hitelesített hozzáférés (egy írási például) -PerfDolibarr=Performance setup/optimizing report -YouMayFindPerfAdviceHere=This page provides some checks or advice related to performance. -NotInstalled=Not installed, so your server is not slowed 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. Maybe you are using an OPCode cache other than XCache or eAccelerator (good), or maybe you don't have OPCode cache (very bad). +PerfDolibarr=Teljesítménybeállítás/optimalizálás jelentés +YouMayFindPerfAdviceHere=Ezen az oldalon található néhány ellenőrzés vagy tanácsadás a teljesítményhez kapcsolódóan. +NotInstalled=Nincs telepítve, így a szervert ez nem lassítja le. +ApplicativeCache=Alkalmazható gyorsítótár +MemcachedNotAvailable=Nem található alkalmazható gyorsítótár. A teljesítmény javításához telepítheti a Memcached gyorsítótár-kiszolgálót és egy modult, amely képes használni ezt a gyorsítótár-kiszolgálót.
    További információ itt http://wiki.dolibarr.org/index.php/Module_MemCached_EN .
    Vegye figyelembe, hogy sok webtárhely-szolgáltató nem nyújt ilyen gyorsítótár-kiszolgálót. +MemcachedModuleAvailableButNotSetup=Található memcached modul a gyorsítótár-kiszolgálóhoz, de a modul telepítése még nem fejeződött be. +MemcachedAvailableAndSetup=A memcached szerver használatához a memcached modul engedélyezve van. +OPCodeCache=OPCode gyorsítótár +NoOPCodeCacheFound=Nem található az OPCode gyorsítótár. Lehet, hogy egy másik OPCode gyorsítótárat használ, mint például az XCache-t vagy az eAccelerator-t (jó), vagy lehet, hogy nincs OPCode-gyorsítótár (nagyon rossz). HTTPCacheStaticResources=Statikus erőforrások (css, img, javascript) HTTP gyorsítótára FilesOfTypeCached=A HTTP szerver a %s típusú fájlok esetében használja a gyorsítótárat. FilesOfTypeNotCached=A HTTP szerver a %s típusú fájlok esetében nem használja a gyorsítótárat. FilesOfTypeCompressed=A HTTP szerver a %s típusú fájlokat tömöríti. FilesOfTypeNotCompressed=A HTTP szerver a %s típusú fájlokat nem tömöríti. -CacheByServer=Cache by server -CacheByServerDesc=For example using the Apache directive "ExpiresByType image/gif A2592000" +CacheByServer=Gyorsítótár kiszolgálónként +CacheByServerDesc=Például az "ExpiresByType image/gif A2592000" Apache irányelv használatával CacheByClient=Cache by browser CompressionOfResources=HTTP válaszok tömörítése -CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" -TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers -DefaultValuesDesc=Here you may define the default value you wish to use when creating a new record, and/or default filters or the sort order when you list records. -DefaultCreateForm=Default values (to use on forms) -DefaultSearchFilters=Default search filters -DefaultSortOrder=Default sort orders +CompressionOfResourcesDesc=Például az "AddOutputFilterByType DEFLATE" Apache irányelv használatával +TestNotPossibleWithCurrentBrowsers=A jelenlegi böngészőknél nem lehetséges ilyen automatikus észlelés +DefaultValuesDesc=Meghatározhatja azt az alapértelmezett értéket, amelyet új rekord létrehozásakor használni kíván, és/vagy az alapértelmezett szűrőket, vagy a rendezési sorrendet a rekordok listázásakor. +DefaultCreateForm=Alapértelmezett értékek (űrlapok használatához) +DefaultSearchFilters=Alapértelmezett keresési szűrők +DefaultSortOrder=Alapértelmezett rendezési sorrendek DefaultFocus=Default focus fields -DefaultMandatory=Mandatory form fields +DefaultMandatory=Kötelező űrlapmezők ##### Products ##### ProductSetup=Termékek modul beállítása ServiceSetup=Szolgáltatások modul beállítása ProductServiceSetup=Termékek és szolgáltatások modulok beállítása -NumberOfProductShowInSelect=Maximum number of products to show in combo select lists (0=no limit) +NumberOfProductShowInSelect=A kombinált kiválasztási listákban megjelenítendő termékek maximális száma (0 = nincs korlátozás) ViewProductDescInFormAbility=Display product descriptions in forms (otherwise shown in a tooltip popup) MergePropalProductCard=Activate in product/service Attached Files tab an option to merge product PDF document to proposal PDF azur if product/service is in the proposal -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in the language of the third party +ViewProductDescInThirdpartyLanguageAbility=A termékleírások megjelenítése a partner nyelvén UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Wait until you press a key before loading content of product combo list (This may increase performance if you have a large number of products, but it is less convenient) SetDefaultBarcodeTypeProducts=Alapértelmezett típusú vonalkód használatát termékek @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/hu_HU/bills.lang b/htdocs/langs/hu_HU/bills.lang index ab8c59769af..f1aaa7a59e7 100644 --- a/htdocs/langs/hu_HU/bills.lang +++ b/htdocs/langs/hu_HU/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=beszállítók számlái Payment=Fizetés -PaymentBack=vissza fizetési -CustomerInvoicePaymentBack=vissza fizetési +PaymentBack=Visszatérítés +CustomerInvoicePaymentBack=Visszatérítés Payments=Kifizetések PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Visszafizetések DeletePayment=Fizetés törlése ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Fogadott befizetések @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Kifizetés ToMakePaymentBack=Visszafizetés ListOfYourUnpaidInvoices=Nyitott számlák listája NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Illetékbélyeg +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/hu_HU/blockedlog.lang b/htdocs/langs/hu_HU/blockedlog.lang index 28194fd21de..8a37fe90724 100644 --- a/htdocs/langs/hu_HU/blockedlog.lang +++ b/htdocs/langs/hu_HU/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/hu_HU/cashdesk.lang b/htdocs/langs/hu_HU/cashdesk.lang index d2c1b57f40b..c7ca149736d 100644 --- a/htdocs/langs/hu_HU/cashdesk.lang +++ b/htdocs/langs/hu_HU/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add hozzá ezt a cikket RestartSelling=Menj vissza eladni SellFinished=Értékesítés befejezte PrintTicket=Nyomtatás jegy +SendTicket=Send ticket NoProductFound=Nem találtam cikket ProductFound=termék található NoArticle=Nincs cikk @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Számlák száma Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Böngésző BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/hu_HU/companies.lang b/htdocs/langs/hu_HU/companies.lang index 32b0b049214..26f3995ee4c 100644 --- a/htdocs/langs/hu_HU/companies.lang +++ b/htdocs/langs/hu_HU/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted="%s" cég törölve az adatbázisból. ListOfContacts=Névjegyek / címek ListOfContactsAddresses=Névjegyek / címek ListOfThirdParties=Partnerek listája -ShowCompany=Mutasd a partnereket ShowContact=Kapcsolat mutatása ContactsAllShort=Minden (nincs szűrő) ContactType=Kapcsolat típusa @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Az értékesítési képviselő vezetékneve SaleRepresentativeLastname=Az értékesítési képviselő vezetékneve ErrorThirdpartiesMerge=Hiba történt a partner(ek) törlésekor. Kérjük, ellenőrizze a naplót. A változtatások visszavonva. NewCustomerSupplierCodeProposed=A vevő vagy az eladó kódja már használatban van, egy új kód javasolt +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Fizetés típusa - Ügyfél PaymentTermsCustomer=Fizetési feltételek - Ügyfél diff --git a/htdocs/langs/hu_HU/compta.lang b/htdocs/langs/hu_HU/compta.lang index 8a8efc62c29..1843b1372a1 100644 --- a/htdocs/langs/hu_HU/compta.lang +++ b/htdocs/langs/hu_HU/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Rövid címke +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index 281f32104ac..f6bd16ca771 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=A fájlt nem sikerült teljesen feltölteni. ErrorNoTmpDir=A %s ideiglenes könyvtár nem létezik. ErrorUploadBlockedByAddon=A feltöltést akadályozza valamilyen PHP / Apache plugin. ErrorFileSizeTooLarge=A fájl mérete túl nagy. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Túl nagy szám az int típushoz (maximum %s számjegy) ErrorSizeTooLongForVarcharType=Túl hosszú szöveg a string típushoz (%s karakter maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index da1615f437a..c9b3e5ee4e5 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Ez a PHP támogatja a Curl-t. PHPSupportCalendar=Ez a PHP támogatja a naptár-kiterjesztéseket. PHPSupportUTF8=Ez a PHP támogatja az UTF8 funkciókat. PHPSupportIntl=Ez a PHP támogatja a többnyelvű funkciókat. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Ez a PHP támogatja a(z) %s funkciókat. PHPMemoryOK=A munkamenetek maximális memóriája %s. Ennek elégnek kéne lennie. PHPMemoryTooLow=A PHP munkamenetmemóriája %s bájt maximumra van beállítva. Ez túl alacsony. Változtassa meg a php.ini fájlban a memory_limit paraméter értékét legalább %s bájtra. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=A PHP telepítése nem támogatja a Curl-t. ErrorPHPDoesNotSupportCalendar=A telepített PHP nem támogatja a php naptárkiterjesztéseket. ErrorPHPDoesNotSupportUTF8=A telepített PHP nem támogatja az UTF8 funkciókat. A Dolibarr nem működik megfelelően. A Dolibarr telepítése előtt oldja meg ezt. ErrorPHPDoesNotSupportIntl=A telepített PHP nem támogatja a többnyelvű funkciókat. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=A telepített PHP nem támogatja a(z) %s funkciókat. ErrorDirDoesNotExists=%s könyvtár nem létezik. ErrorGoBackAndCorrectParameters=Menjen vissza és ellenőrizze / javítsa ki a paramétereket. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Az alkalmazás megpróbált frissítést végreha YouTryInstallDisabledByFileLock=Az alkalmazás megpróbált frissítést végrehajtani, de a biztonságot szem előtt tartva letiltottuk a telepítési / frissítési oldalakat (az install.lock zárolási fájl létrehozásával a dolibarr dokumentumok könyvtárában).
    ClickHereToGoToApp=Kattintson ide az alkalmazás eléréséhez ClickOnLinkOrRemoveManualy=Kattintson a következő linkre. Ha mindig ugyanazt az oldalt látja, el kell távolítania / át kell neveznie az install.lock fájlt a dokumentumok könyvtárban. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/hu_HU/link.lang b/htdocs/langs/hu_HU/link.lang index 32e8792ef16..4a300402b46 100644 --- a/htdocs/langs/hu_HU/link.lang +++ b/htdocs/langs/hu_HU/link.lang @@ -8,3 +8,4 @@ LinkRemoved=A %s hivatkozás törölve ErrorFailedToDeleteLink= A '%s' hivakozás törlése sikertelen ErrorFailedToUpdateLink= A '%s' hivakozás frissítése sikertelen URLToLink=A hivatkozás címe +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/hu_HU/mails.lang b/htdocs/langs/hu_HU/mails.lang index 068acc39b23..748b00764b6 100644 --- a/htdocs/langs/hu_HU/mails.lang +++ b/htdocs/langs/hu_HU/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Információ ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index 4a57c743427..f6b07282fc3 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Mentés és maradj SaveAndNew=Mentés és új TestConnection=Kapcsolat tesztelése ToClone=Klónozás +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Válassza ki a klónozni kívánt adatokat: NoCloneOptionsSpecified=Nincs klónozandó adat meghatározva. Of=birtokában @@ -829,6 +830,8 @@ Gender=Nem Genderman=Férfi Genderwoman=Nő ViewList=Lista megtekintése +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Kötelező kitölteni Hello=Hello GoodBye=Viszontlátásra @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Válassza ki a grafikon beállításait a grafikon f Measures=Méretek XAxis=X-tengely YAxis=Y-tengely +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/hu_HU/orders.lang b/htdocs/langs/hu_HU/orders.lang index 3e21f863216..8b1b0ac0e74 100644 --- a/htdocs/langs/hu_HU/orders.lang +++ b/htdocs/langs/hu_HU/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=E-mail OrderByWWW=Online OrderByPhone=Telefon # Documents models -PDFEinsteinDescription=Teljes megrendelési modell (az Eratosthene sablon régi megvalósítása) +PDFEinsteinDescription=Teljes megrendelési modell PDFEratostheneDescription=Teljes megrendelési modell PDFEdisonDescription=Egyszerű megrendelési sablon PDFProformaDescription=Teljes Proforma számlasablon diff --git a/htdocs/langs/hu_HU/other.lang b/htdocs/langs/hu_HU/other.lang index 2c84431663c..b070f06054a 100644 --- a/htdocs/langs/hu_HU/other.lang +++ b/htdocs/langs/hu_HU/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=A grafikák „Sávok” módban %s mértékre OnlyOneFieldForXAxisIsPossible=Jelenleg csak 1 mező lehetséges X-tengelyként. Csak az első kiválasztott mező került kiválasztásra. AtLeastOneMeasureIsRequired=Legalább 1 mező szükséges a méréshez AtLeastOneXAxisIsRequired=Legalább 1 mező szükséges az X-tengelyhez - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Az értékesítési megrendelés érvényes Notify_ORDER_SENTBYMAIL=Az értékesítési megrendelés postai úton elküldve Notify_ORDER_SUPPLIER_SENTBYMAIL=A beszerzési megrendelés e-mailben elküldve @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Az oldal URL-je WEBSITE_TITLE=Cím WEBSITE_DESCRIPTION=Leírás WEBSITE_IMAGE=Kép -WEBSITE_IMAGEDesc=A képfájl relatív útja. Ezt üresen hagyhatja, mivel ezt ritkán használják (a dinamikus tartalom felhasználhatja miniatűr megjelenítésére a blogbejegyzések listájában). Használja a __WEBSITEKEY__ az elérési útban, ha az elérési út a webhely nevétől függ. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Kulcsszavak LinesToImport=Importálandó sorok diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index 014a4a9fccb..c28d41d5a08 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Ez az eszköz frissíti MINDEN termékre MassBarcodeInit=Tömeges vonalkód létrehozás MassBarcodeInitDesc=Ezen az oldalon lehet vonalkódot létrehozni azon objektumoknak, amelyeknél még nincs meghatározva vonalkód. Ellenőrizze a beállításokat, mielőtt a barcode modul befejeződik. ProductAccountancyBuyCode=Számviteli kód (vásárlás) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Számviteli kód (eladás) ProductAccountancySellIntraCode=Számviteli kód (Közösségen belüli eladás) ProductAccountancySellExportCode=Számviteli kód (export eladás) @@ -165,7 +167,7 @@ SuppliersPrices=Eladási árak SuppliersPricesOfProductsOrServices=Eladási árak (termékek vagy szolgáltatások) CustomCode=Vám / Áru / HS kód CountryOrigin=Származási ország -Nature=A termék természete (alapanyag / késztermék) +Nature=Nature of product (material/finished) ShortLabel=Rövid címke Unit=Egység p=db. diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 8376020d283..0b9ee0449c2 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Idő ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Kapcsolódó elemek ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Új számla OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/hu_HU/receiptprinter.lang b/htdocs/langs/hu_HU/receiptprinter.lang index 3d2c4e632ab..08d8836143b 100644 --- a/htdocs/langs/hu_HU/receiptprinter.lang +++ b/htdocs/langs/hu_HU/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Számla hiv. +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Tőke +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/hu_HU/stripe.lang b/htdocs/langs/hu_HU/stripe.lang index d88607e0c22..27845bc9ee2 100644 --- a/htdocs/langs/hu_HU/stripe.lang +++ b/htdocs/langs/hu_HU/stripe.lang @@ -32,6 +32,7 @@ VendorName=Neve eladó CSSUrlForPaymentForm=CSS stíluslapot url fizetési forma NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/hu_HU/users.lang b/htdocs/langs/hu_HU/users.lang index 63cd31fa91c..084d20b5834 100644 --- a/htdocs/langs/hu_HU/users.lang +++ b/htdocs/langs/hu_HU/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Felhasználók és tulajdonságaik DomainUser=Domain felhasználók %s Reactivate=Újra aktiválás CreateInternalUserDesc=Ez az űrlap lehetővé teszi belső felhasználó létrehozását a vállalatban/szervezetben. Külső felhasználó (vevő, eladó stb.) létrehozásához használja a 'Dolibarr felhasználó létrehozása' gombot a partner névjegykártyáján. -InternalExternalDesc=A belső felhasználó az a felhasználó, amely része a vállalatának/szervezetének.
    Egy külső felhasználó vevő, eladó vagy más.

    Mindkét esetben az engedélyek meghatározzák a felhasználó Dolibarr jogait, a külső felhasználónak más menükezelője is lehet, mint a belső felhasználónál (lásd Kezdőlap - Beállítás - Kijelző) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Engedélyek megadva mert örökölte az egyik csoporttól. Inherited=Örökölve UserWillBeInternalUser=Létrehozta felhasználó lesz egy belső felhasználó (mivel nem kapcsolódik az adott harmadik fél) @@ -113,3 +113,5 @@ CantDisableYourself=Saját felhasználói rekordját nem tilthatja le ForceUserExpenseValidator=A költségjelentés érvényesítésének kényszerítése ForceUserHolidayValidator=A szabadságkérelem érvényesítése ValidatorIsSupervisorByDefault=Alapértelmezés szerint az érvényesítő a felhasználó vezetője. Hagyja üresen ha ez így van. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/hu_HU/website.lang b/htdocs/langs/hu_HU/website.lang index 27dc084c76f..4548cbdf7ed 100644 --- a/htdocs/langs/hu_HU/website.lang +++ b/htdocs/langs/hu_HU/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Az oldal megtekintése új lapon SetAsHomePage=Beállítás kezdőlapnak RealURL=Valódi URL ViewWebsiteInProduction=Tekintse meg a webhelyet otthoni URL-ek segítségével -SetHereVirtualHost=Használja Apache / NGinx / ...
    Ha a webkiszolgálón (Apache, Nginx, ...) létrehozhat egy dedikált virtuális gazdagépet, amelyen a PHP engedélyezve van, és egy gyökérkönyvtárat
    %s
    majd állítsa be a webhely tulajdonságaiban létrehozott virtuális gazdagép nevét, így az előnézetet a belső Dolibarr szerver helyett ennek a dedikált webkiszolgálónak a hozzáférésével is el lehet végezni. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Használjon beépített PHP szerverrel
    Fejlesztői környezetben a futtatással inkább tesztelheti a webhelyet a beágyazott PHP szerverrel (PHP 5.5 szükséges)
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Futtassa weboldalát egy másik Dolibarr tárhely szolgáltatóval
    Ha még nem áll rendelkezésre internetes szerver, például Apache vagy NGinx, akkor exportálhatja és importálhatja webhelyét egy másik Dolibarr példányra, amelyet egy másik Dolibarr tárhely szolgáltató biztosít, és amely teljes mértékben integrálja a webhely modult. Néhány Dolibarr tárhely-szolgáltató felsorolását a https://saas.dolibarr.org oldalon találja CheckVirtualHostPerms=Ellenőrizze azt is, hogy a virtuális gazdagép rendelkezik-e %s engedéllyel a fájlokba
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sajnáljuk, ez a webhely jelenleg offline állapo WEBSITE_USE_WEBSITE_ACCOUNTS=Engedélyezze a webhely account tábláját WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Engedélyezze a táblát a webhely accountok (usernév / jelszó) tárolására minden weboldalon / harmadik félnél YouMustDefineTheHomePage=Először meg kell határoznia az alapértelmezett Kezdőlapot -OnlyEditionOfSourceForGrabbedContentFuture=Figyelem: A weboldal külső weboldal importálásával történő létrehozása a tapasztalt felhasználók számára van fenntartva. A forrásoldal összetettségétől függően az importálás eredménye eltérhet az eredetitől. Ha a forrásoldal is általános CSS stílusokat vagy ütköző javascriptet használ, akkor az megsemmisítheti a webhely szerkesztő megjelenését vagy funkcióit, amikor ezen az oldalon dolgozik. Ez a módszer gyorsabb módszer egy oldal létrehozására, de ajánlott az új oldal a nulláról vagy a javasolt oldalsablonból történő létrehozása.
    Vegye figyelembe azt is, hogy a HTML forrás szerkesztése akkor lehetséges, ha az oldal tartalma inicializálva van, ha egy külső oldalról grabbeli azt (az "Online" szerkesztő NEM lesz elérhető) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Csak a HTML forrás kiadása lehetséges, ha a tartalmat egy külső webhelyről megragadták GrabImagesInto=Ragadja meg a css-ben és az oldalon található képeket is. ImagesShouldBeSavedInto=A képeket a könyvtárba kell menteni @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=A helyes SEO gyakorlat érdekében használjon 5 és 7 MainLanguage=Fő nyelv OtherLanguages=Más nyelvek UseManifest=Adjon meg egy manifest.json fájlt +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index 8dea06a28ad..acbf3ab23a7 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Catatan: Tidak ada batas diatur dalam konfigurasi PHP Anda MaxSizeForUploadedFiles=Ukuran maksimal untuk file upload (0 untuk melarang pengunggahan ada) UseCaptchaCode=Gunakan kode grafis (CAPTCHA) pada halaman login -AntiVirusCommand= Path lengkap ke perintah antivirus -AntiVirusCommandExample= Contoh untuk ClamWin: c: \\ progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe
    Contoh untuk ClamAV: / usr / bin / clamscan +AntiVirusCommand=Path lengkap ke perintah antivirus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Lebih lanjut tentang parameter baris perintah -AntiVirusParamExample= Contoh untuk ClamWin: - database = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Pengaturan modul Akuntansi UserSetup=Konfigurasi manajemen pengguna MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Link Standar SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=lebih besar dari @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/id_ID/bills.lang b/htdocs/langs/id_ID/bills.lang index 4b62c14cfb1..adafb4ff710 100644 --- a/htdocs/langs/id_ID/bills.lang +++ b/htdocs/langs/id_ID/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=semua tagihan untuk semua pemasok / supplier Payment=Pembayaran -PaymentBack=Pembayaran kembali -CustomerInvoicePaymentBack=Pembayaran kembali +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Semua pembayaran PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Dibayar kembali DeletePayment=Hapus pembayaran ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Semua pembayaran yang diterima @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/id_ID/blockedlog.lang b/htdocs/langs/id_ID/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/id_ID/blockedlog.lang +++ b/htdocs/langs/id_ID/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/id_ID/cashdesk.lang b/htdocs/langs/id_ID/cashdesk.lang index b040df0305d..4dcde5eda9f 100644 --- a/htdocs/langs/id_ID/cashdesk.lang +++ b/htdocs/langs/id_ID/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/id_ID/companies.lang b/htdocs/langs/id_ID/companies.lang index 4a2c3fa0599..a90e08ac188 100644 --- a/htdocs/langs/id_ID/companies.lang +++ b/htdocs/langs/id_ID/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/id_ID/compta.lang b/htdocs/langs/id_ID/compta.lang index 1e81d808167..37cf0356250 100644 --- a/htdocs/langs/id_ID/compta.lang +++ b/htdocs/langs/id_ID/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index bc6b7fc3e69..59457c8085f 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/id_ID/link.lang b/htdocs/langs/id_ID/link.lang index 600b2d930ff..1d10ffbad6e 100644 --- a/htdocs/langs/id_ID/link.lang +++ b/htdocs/langs/id_ID/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Tautan %s telah dihapus ErrorFailedToDeleteLink= gagal untuk menghapus tautan '%s' ErrorFailedToUpdateLink= Gagal untuk memperbaharui tautan '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/id_ID/mails.lang b/htdocs/langs/id_ID/mails.lang index c02d383c4fb..195055ba334 100644 --- a/htdocs/langs/id_ID/mails.lang +++ b/htdocs/langs/id_ID/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index 3ef8d8605d4..9988de10e94 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=Tampilan daftar +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/id_ID/other.lang b/htdocs/langs/id_ID/other.lang index 8e8d51192cb..7cac2e06e63 100644 --- a/htdocs/langs/id_ID/other.lang +++ b/htdocs/langs/id_ID/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Keterangan WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index 9e8aff41e86..411bb7216ed 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index 0a2900a8296..d207986f87c 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Tagihan baru OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/id_ID/receiptprinter.lang b/htdocs/langs/id_ID/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/id_ID/receiptprinter.lang +++ b/htdocs/langs/id_ID/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/id_ID/stripe.lang b/htdocs/langs/id_ID/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/id_ID/stripe.lang +++ b/htdocs/langs/id_ID/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/id_ID/users.lang b/htdocs/langs/id_ID/users.lang index d424b1f334e..a9498dec5ac 100644 --- a/htdocs/langs/id_ID/users.lang +++ b/htdocs/langs/id_ID/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/id_ID/website.lang b/htdocs/langs/id_ID/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/id_ID/website.lang +++ b/htdocs/langs/id_ID/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index 0b03d4da07f..a9a52b04b77 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Ath: Ekki eru sett lágmörk á PHP uppsetningu þína MaxSizeForUploadedFiles=Hámarks stærð fyrir skrár (0 til banna allir senda) UseCaptchaCode=Nota myndræna kóða (Kapteinn) á innskráningarsíðu -AntiVirusCommand= Full slóð að antivirus stjórn -AntiVirusCommandExample= Dæmi um Samloka: c: \\ Program Files (x86) \\ Samloka \\ kassi \\ clamscan.exe
    Dæmi um Samloka: / usr / bin / clamscan +AntiVirusCommand=Full slóð að antivirus stjórn +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Fleiri breytur á lína -AntiVirusParamExample= Dæmi um Samloka: - gagnasafn = "C: \\ Program Files (x86) \\ Samloka \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Bókhald mát skipulag UserSetup=Stjórn notanda skipulag MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Lögun fatlaður í kynningu FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Aðeins atriði frá virkt einingar eru birtar. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Virkja á @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Svæði DictionaryCountry=Lönd DictionaryCurrency=Gjaldmiðlar -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VSK Verð @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Verð LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Sjálfgefið er fyrirhuguð IRPF er 0. Lok reglu. LocalTax2IsUsedExampleES=Á Spáni freelancers og sjálfstæða sérfræðinga sem veita þjónustu og fyrirtæki sem hafa valið skatt kerfi eininga. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Innkaup CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Velta CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Merki notaður við vanræksla, ef ekki þýðingu er að finna í kóða LabelOnDocuments=Merki um skjöl LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Öryggi endurskoðun viðburðir Audit=Úttekt @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Kerfi upplýsingar er ýmis tæknilegar upplýsingar sem þú færð í lesa aðeins háttur og sýnileg Aðeins kerfisstjórar. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Notendur mát skipulag UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice skjöl módel BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force dagsetningu reiknings staðfestingu dagsetningu -SuggestedPaymentModesIfNotDefinedInInvoice=Leiðbeinandi greiðslur háttur á reikning við vanræksla ef ekki er skilgreind fyrir reikning +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Frjáls texti á reikningum @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Auglýsing tillögur mát skipulag ProposalsNumberingModules=Auglýsing tillögu tala mát ProposalsPDFModules=Auglýsing tillögu skjöl módel -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Pantanir tala mát OrdersModelModule=Panta skjöl módel @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/is_IS/bills.lang b/htdocs/langs/is_IS/bills.lang index f4e78a6e916..87fd0e67073 100644 --- a/htdocs/langs/is_IS/bills.lang +++ b/htdocs/langs/is_IS/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=birgjum reikninga Payment=Greiðsla -PaymentBack=Greiðsla til baka -CustomerInvoicePaymentBack=Greiðsla til baka +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Greiðslur PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Eyða greiðslu ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Móttekin greiðslur @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/is_IS/blockedlog.lang b/htdocs/langs/is_IS/blockedlog.lang index 626f5821bcf..4a0e02851e2 100644 --- a/htdocs/langs/is_IS/blockedlog.lang +++ b/htdocs/langs/is_IS/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/is_IS/cashdesk.lang b/htdocs/langs/is_IS/cashdesk.lang index 11eb12c8b02..53d67608a08 100644 --- a/htdocs/langs/is_IS/cashdesk.lang +++ b/htdocs/langs/is_IS/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Bæta við þessa grein RestartSelling=Fara aftur á að selja SellFinished=Sale complete PrintTicket=Prenta miða +SendTicket=Send ticket NoProductFound=Engin grein fannst ProductFound=vara fannst NoArticle=Engin grein @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=NB af reikningum Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/is_IS/companies.lang b/htdocs/langs/is_IS/companies.lang index 8e2f1086cbe..699c424c082 100644 --- a/htdocs/langs/is_IS/companies.lang +++ b/htdocs/langs/is_IS/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Fyrirtæki " %s " eytt úr gagnagrunninum. ListOfContacts=Listi yfir tengiliði ListOfContactsAddresses=Listi yfir tengiliði ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show samband ContactsAllShort=Öll (síu) ContactType=Hafðu tegund @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/is_IS/compta.lang b/htdocs/langs/is_IS/compta.lang index bd1c8b64c46..82960faedfc 100644 --- a/htdocs/langs/is_IS/compta.lang +++ b/htdocs/langs/is_IS/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index 6c5f33f419e..28f89d9d044 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Skrá fékk ekki alveg við þjóninn. ErrorNoTmpDir=Tímabundin directy %s er ekki til. ErrorUploadBlockedByAddon=Hlaða læst með PHP / Apache tappi. ErrorFileSizeTooLarge=Skráarstærð er of stór. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Stærð of lengi fyrir int tegund (%s tölustafir hámark) ErrorSizeTooLongForVarcharType=Stærð of lengi fyrir gerð band (%s stafir hámark) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index 4d44fcfc421..9c14f4b9435 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max fundur minnið er stillt á %s . Þetta ætti að vera nóg. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Listinn %s er ekki til. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/is_IS/link.lang b/htdocs/langs/is_IS/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/is_IS/link.lang +++ b/htdocs/langs/is_IS/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/is_IS/mails.lang b/htdocs/langs/is_IS/mails.lang index 23de4f9fad2..fd2e406a2e5 100644 --- a/htdocs/langs/is_IS/mails.lang +++ b/htdocs/langs/is_IS/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index 85245ac028d..271416128f0 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Próf tengingu ToClone=Klóna +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Engin gögn til að afrita skilgreind. Of=á @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=Skoða lista +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/is_IS/other.lang b/htdocs/langs/is_IS/other.lang index ebaa25e6d3d..b81f0d0f77e 100644 --- a/htdocs/langs/is_IS/other.lang +++ b/htdocs/langs/is_IS/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Titill WEBSITE_DESCRIPTION=Lýsing WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index 3ed2df6e56c..50494b9a623 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Uppruni land -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 883d21f7aab..7333330d5c4 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Tími ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nýr reikningur OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/is_IS/receiptprinter.lang b/htdocs/langs/is_IS/receiptprinter.lang index 76c8635765a..6ba804469a5 100644 --- a/htdocs/langs/is_IS/receiptprinter.lang +++ b/htdocs/langs/is_IS/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice dómari +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/is_IS/stripe.lang b/htdocs/langs/is_IS/stripe.lang index 66b0105ee29..8ba78b4df1e 100644 --- a/htdocs/langs/is_IS/stripe.lang +++ b/htdocs/langs/is_IS/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nafn seljanda CSSUrlForPaymentForm=CSS stíll lak url fyrir formi greiðslu NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/is_IS/users.lang b/htdocs/langs/is_IS/users.lang index b0830affd55..3d4566f6abf 100644 --- a/htdocs/langs/is_IS/users.lang +++ b/htdocs/langs/is_IS/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Lén notanda %s Reactivate=Endurvekja CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Heimild veitt vegna þess að arfur frá einni í hópnum notanda. Inherited=Arf UserWillBeInternalUser=Búið notandi vilja vera innri notanda (vegna þess að ekki tengd við ákveðna þriðja aðila) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/is_IS/website.lang b/htdocs/langs/is_IS/website.lang index 738071eb4b4..a43243bd41a 100644 --- a/htdocs/langs/is_IS/website.lang +++ b/htdocs/langs/is_IS/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/it_IT/accountancy.lang b/htdocs/langs/it_IT/accountancy.lang index f924fd121c9..66b70b12ea1 100644 --- a/htdocs/langs/it_IT/accountancy.lang +++ b/htdocs/langs/it_IT/accountancy.lang @@ -168,10 +168,15 @@ DONATION_ACCOUNTINGACCOUNT=Conto di contabilità per registrare le donazioni ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Conto contabile per registrare gli abbonamenti ACCOUNTING_PRODUCT_BUY_ACCOUNT=Conto di contabilità predefinito per i prodotti acquistati (se non definito nella scheda prodotto) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Conto di contabilità predefinito per i prodotti venduti (se non definito nella scheda prodotto) ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Conto contabile per impostazione predefinita per i prodotti venduti in CEE (utilizzato se non definito nella scheda prodotto) ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Conto contabile per impostazione predefinita per l'esportazione dei prodotti venduti fuori dalla CEE (utilizzato se non definito nella scheda prodotto) + ACCOUNTING_SERVICE_BUY_ACCOUNT=Conto di contabilità per impostazione predefinita per i servizi acquistati (utilizzato se non definito nel foglio di servizio) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Conto di contabilità per impostazione predefinita per i servizi venduti (utilizzato se non definito nel foglio di servizio) ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Conto contabile predefinito per i servizi venduti nella CEE (solo se non definito nella scheda servizio) ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Conto contabile predefinito per i servizi venduti ed esportati fuori dalla CEE (solo se non definito nella scheda servizio) @@ -228,13 +233,15 @@ ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unkno ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service -ShowOpeningBalance=Show opening balance -HideOpeningBalance=Hide opening balance +ShowOpeningBalance=Mostra bilancio di apertura +HideOpeningBalance=Nascondi bilancio di apertura Pcgtype=Gruppo di conto PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. -TotalVente=Total turnover before tax +Reconcilable=Reconcilable + +TotalVente=Fatturato totale al lordo delle imposte TotalMarge=Margine totale sulle vendite DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account @@ -286,7 +293,7 @@ AccountingJournalType1=Miscellaneous operations AccountingJournalType2=Vendite AccountingJournalType3=Acquisti AccountingJournalType4=Banca -AccountingJournalType5=Expenses report +AccountingJournalType5=Rimborsi spese AccountingJournalType8=Inventario AccountingJournalType9=Has-new ErrorAccountingJournalIsAlreadyUse=Questo giornale è già in uso @@ -308,6 +315,7 @@ Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog Modelcsv_agiris=Export for Agiris Modelcsv_LDCompta=Export for LD Compta (v9 & higher) (Test) +Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) Modelcsv_openconcerto=Export for OpenConcerto (Test) Modelcsv_configurable=Export CSV Configurable Modelcsv_FEC=Export FEC @@ -324,10 +332,14 @@ OptionModeProductSell=Modalità vendita OptionModeProductSellIntra=Mode sales exported in EEC OptionModeProductSellExport=Mode sales exported in other countries OptionModeProductBuy=Modalità acquisto +OptionModeProductBuyIntra=Mode purchases imported in EEC +OptionModeProductBuyExport=Mode purchased imported from other countries OptionModeProductSellDesc=Show all products with accounting account for sales. OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. OptionModeProductBuyDesc=Show all products with accounting account for purchases. +OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. +OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. CleanFixHistory=Remove accounting code from lines that not exists into charts of account CleanHistory=Resetta tutti i collegamenti per l'anno corrente PredefinedGroups=Gruppi predefiniti @@ -338,6 +350,8 @@ AccountRemovedFromGroup=Account removed from group SaleLocal=Local sale SaleExport=Export sale SaleEEC=Sale in EEC +SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. +SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. ## Dictionary Range=Range of accounting account diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index 7c938027e80..a0a16030215 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Nota: nessun limite impostato nella configurazione PHP MaxSizeForUploadedFiles=Dimensione massima dei file caricati (0 per disabilitare l'upload) UseCaptchaCode=Utilizzare verifica captcha nella pagina di login -AntiVirusCommand= Percorso completo programma antivirus -AntiVirusCommandExample= Esempio per ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Esempio per ClamAV: / usr/bin/clamscan +AntiVirusCommand=Percorso completo programma antivirus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Più parametri sulla riga di comando -AntiVirusParamExample= Esempio per ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Impostazioni modulo contabilità UserSetup=Impostazioni per la gestione utenti MultiCurrencySetup=Impostazioni multi-valuta @@ -197,9 +197,9 @@ IgnoreDuplicateRecords=Ignora errori per record duplicati (INSERT IGNORE) AutoDetectLang=Rileva automaticamente (lingua del browser) FeatureDisabledInDemo=Funzione disabilitata in modalità demo FeatureAvailableOnlyOnStable=Feature disponibile solo nelle versioni stabili ufficiali -BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. +BoxesDesc=I Widgets sono componenti che personalizzano le pagine aggiungendo delle informazioni.\nPuoi scegliere se mostrare il widget o meno cliccando 'Attiva' sulla la pagina di destinazione, o cliccando sul cestino per disattivarlo. OnlyActiveElementsAreShown=Vengono mostrati solo gli elementi relativi ai moduli attivi . -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=I moduli / applicazioni determinano quali funzionalità sono disponibili nel software. Alcuni moduli richiedono autorizzazioni da concedere agli utenti dopo l'attivazione del modulo stesso. Fare clic sul pulsante on / off %s (alla fine della riga del modulo) per abilitare / disabilitare un modulo / un'applicazione. ModulesMarketPlaceDesc=Potete trovare altri moduli da scaricare su siti web esterni... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Trova app/moduli esterni... @@ -212,6 +212,7 @@ CompatibleUpTo=Compatibile con la versione %s NotCompatible=Questo modulo non sembra essere compatibile con la tua versione di Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Questo modulo richiede un aggiornamento a Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=Vedi la configurazione del modulo %s Updated=Aggiornato Nouveauté=Novità AchatTelechargement=Aquista / Scarica @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=Siti web esterni per ulteriori moduli add-on (non essenziali)... DevelopYourModuleDesc=Spunti per sviluppare il tuo modulo... URL=Collegamento +RelativeURL=Relative URL BoxesAvailable=Widget disponibili BoxesActivated=Widget attivi ActivateOn=Attiva sul @@ -231,8 +233,8 @@ Required=Richiesto UsedOnlyWithTypeOption=Used by some agenda option only Security=Sicurezza Passwords=Password -DoNotStoreClearPassword=Encrypt passwords stored in database (NOT as plain-text). It is strongly recommended to activate this option. -MainDbPasswordFileConfEncrypted=Encrypt database password stored in conf.php. It is strongly recommended to activate this option. +DoNotStoreClearPassword=Non memorizzare le password in chiaro nel database (raccomandato) +MainDbPasswordFileConfEncrypted=Password del database crittata in conf.php (raccomandato) InstrucToEncodePass=Per avere la password codificata sostituisci nel file conf.php , la linea
    $dolibarr_main_db_pass="...";
    con
    $dolibarr_main_db_pass="crypted:%s"; InstrucToClearPass=Per avere la password decodificata (in chiaro) sostituisci nel fileconf.php la linea
    $dolibarr_main_db_pass="crypted:...";
    con
    $dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protect generated PDF files. This is NOT recommended as it breaks bulk PDF generation. @@ -248,7 +250,7 @@ OfficialMarketPlace=Market ufficiale per moduli esterni e addon OfficialWebHostingService=Servizi di hosting web referenziati (Hosting Cloud) ReferencedPreferredPartners=Preferred Partners OtherResources=Altre risorse -ExternalResources=External Resources +ExternalResources=Risorse esterne SocialNetworks=Social Networks ForDocumentationSeeWiki=La documentazione per utenti e sviluppatori e le FAQ sono disponibili sul wiki di Dolibarr:
    Dai un'occhiata a %s ForAnswersSeeForum=Per qualsiasi altro problema/domanda, si può utilizzare il forum di Dolibarr:
    %s @@ -279,8 +281,8 @@ MAIN_MAIL_EMAIL_FROM=Indirizzo mittente per le email automatiche (predefinito in MAIN_MAIL_ERRORS_TO=Indirizzo a cui inviare eventuali errori (campi 'Errors-To' nelle email inviate) MAIN_MAIL_AUTOCOPY_TO= Indirizzo a cui inviare in copia Ccn tutte le mail in uscita MAIN_DISABLE_ALL_MAILS=Disabilita l'invio delle email (a scopo di test o demo) -MAIN_MAIL_FORCE_SENDTO=Send all emails to (instead of real recipients, for test purposes) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Add employee users with email into allowed recipient list +MAIN_MAIL_FORCE_SENDTO=Invia tutte le e-mail a (anziché ai destinatari reali, a scopo di test) +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggerisci l'indirizzo e-mail dei dipendenti (se definiti) nell'elenco dei destinatari predefiniti durante l'invio una nuova e-mail MAIN_MAIL_SENDMODE=Metodo di invio email MAIN_MAIL_SMTPS_ID=Username SMTP (se il server richiede l'autenticazione) MAIN_MAIL_SMTPS_PW=Password SMTP (se il server richiede l'autenticazione) @@ -293,7 +295,7 @@ MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Private key for dkim signing MAIN_DISABLE_ALL_SMS=Disabilita l'invio di SMS (a scopo di test o demo) MAIN_SMS_SENDMODE=Metodo da utilizzare per inviare SMS MAIN_MAIL_SMS_FROM=Numero predefinito del mittente per gli SMS -MAIN_MAIL_DEFAULT_FROMTYPE=Default sender email for manual sending (User email or Company email) +MAIN_MAIL_DEFAULT_FROMTYPE=Email predefinita del mittente per l'invio manuale (email utente o email aziendale) UserEmail=Email utente CompanyEmail=Company Email FeatureNotAvailableOnLinux=Funzione non disponibile sui sistemi Linux. Viene usato il server di posta installato sul server (es. sendmail). @@ -302,9 +304,9 @@ SubmitTranslationENUS=Se la traduzione per questa lingua non è completa o trovi ModuleSetup=Impostazioni modulo ModulesSetup=Impostazione Modulo/Applicazione ModuleFamilyBase=Sistema -ModuleFamilyCrm=Customer Relationship Management (CRM) -ModuleFamilySrm=Vendor Relationship Management (VRM) -ModuleFamilyProducts=Product Management (PM) +ModuleFamilyCrm=Gestione delle relazioni con i clienti (CRM) +ModuleFamilySrm=Gestione delle relazioni con i fornitori (SRM / VRM) +ModuleFamilyProducts=Gestione dei prodotti (PM) ModuleFamilyHr=Gestione delle risorse umane (HR) ModuleFamilyProjects=Progetti/collaborazioni ModuleFamilyOther=Altro @@ -312,7 +314,7 @@ ModuleFamilyTechnic=Strumenti Multi-modulo ModuleFamilyExperimental=Moduli sperimentali ModuleFamilyFinancial=Moduli finanziari (Contabilità/Cassa) ModuleFamilyECM=ECM -ModuleFamilyPortal=Websites and other frontal application +ModuleFamilyPortal=Web sites ed altre applicazioni ModuleFamilyInterface=Interfacce con sistemi esterni MenuHandlers=Gestori menu MenuAdmin=Editor menu @@ -363,7 +365,7 @@ ConfirmPurge=Are you sure you want to execute this purge?
    This will permanent MinLength=Durata minima LanguageFilesCachedIntoShmopSharedMemory=File Lang caricati nella memoria cache LanguageFile=File di Lingua -ExamplesWithCurrentSetup=Examples with current configuration +ExamplesWithCurrentSetup=Esempi di funzionamento secondo la configurazione attuale ListOfDirectories=Elenco delle directory dei modelli OpenDocument ListOfDirectoriesForModelGenODT=Lista di cartelle contenenti file modello in formato OpenDocument.

    Inserisci qui il percorso completo delle cartelle.
    Digitare un 'Invio' tra ciascuna cartella.
    Per aggiungere una cartella del modulo GED, inserire qui DOL_DATA_ROOT/ecm/yourdirectoryname.

    I file in quelle cartelle devono terminare con .odt o .ods. NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories @@ -381,24 +383,24 @@ ResponseTimeout=Timeout della risposta SmsTestMessage=Prova messaggio da __PHONEFROM__ a __PHONETO__ ModuleMustBeEnabledFirst=Il modulo %s deve prima essere attivato per poter accedere a questa funzione. SecurityToken=Token di sicurezza -NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s +NoSmsEngine=Nessun gestore mittente SMS disponibile. Un gestore mittente SMS non è installato con la distribuzione predefinita perché dipendono da un fornitore esterno, ma puoi trovarne alcuni su %s PDF=PDF -PDFDesc=Global options for PDF generation. -PDFAddressForging=Rules for address boxes -HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT +PDFDesc=Opzioni globali per la generazione di PDF. +PDFAddressForging=Regole per i box degli indirizzi sui documenti pdf +HideAnyVATInformationOnPDF=Nascondi tutte le informazioni relative all'IVA sui pdf generati. PDFRulesForSalesTax=Regole per tasse sulla vendita/IVA PDFLocaltax=Regole per %s HideLocalTaxOnPDF=Hide %s rate in column Tax Sale -HideDescOnPDF=Hide products description -HideRefOnPDF=Hide products ref. -HideDetailsOnPDF=Hide product lines details +HideDescOnPDF=Nascondi le descrizioni dei prodotti nel pdf generato +HideRefOnPDF=Nascondi il riferimento dei prodotti nel pdf generato +HideDetailsOnPDF=Nascondi dettagli linee prodotti sui PDF generati PlaceCustomerAddressToIsoLocation=Usa la posizione predefinita francese (La Poste) per l'indirizzo del cliente Library=Libreria UrlGenerationParameters=Parametri di generazione degli indirizzi SecurityTokenIsUnique=Utilizzare un unico parametro securekey per ogni URL EnterRefToBuildUrl=Inserisci la reference per l'oggetto %s GetSecuredUrl=Prendi URL calcolato -ButtonHideUnauthorized=Hide buttons for non-admin users for unauthorized actions instead of showing greyed disabled buttons +ButtonHideUnauthorized=Nascondi i pulsanti per azioni non autorizzate anziché mostrare i pulsanti disabilitati OldVATRates=Vecchia aliquota IVA NewVATRates=Nuova aliquota IVA PriceBaseTypeToChange=Modifica i prezzi con la valuta di base definita. @@ -423,7 +425,7 @@ ExtrafieldPassword=Password ExtrafieldRadio=Radio buttons (one choice only) ExtrafieldCheckBox=Checkboxes ExtrafieldCheckBoxFromList=Checkboxes from table -ExtrafieldLink=Link to an object +ExtrafieldLink=Collegamento ad un oggetto ComputedFormula=Campo calcolato ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

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

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

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' Computedpersistent=Store computed field @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Lasciare vuoto per utilizzare il valore di default DefaultLink=Link predefinito SetAsDefault=Imposta come predefinito ValueOverwrittenByUserSetup=Attenzione, questo valore potrebbe essere sovrascritto da un impostazione specifica dell'utente (ogni utente può settare il proprio url clicktodial) -ExternalModule=Modulo esterno - Installato nella directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -456,7 +459,7 @@ ConfirmEraseAllCurrentBarCode=Vuoi davvero eliminare tutti i valori attuali dei AllBarcodeReset=All barcode values have been removed NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled in the Barcode module setup. EnableFileCache=Abilita file di cache -ShowDetailsInPDFPageFoot=Add more details into footer, such as company address or manager names (in addition to professional ids, company capital and VAT number). +ShowDetailsInPDFPageFoot=Aggiungi più dettagli nel piè di pagina, come l'indirizzo dell'azienda o i nomi dei gestori (oltre agli ID professionali, al capitale aziendale e al numero di partita IVA). NoDetails=No additional details in footer DisplayCompanyInfo=Mostra indirizzo dell'azienda DisplayCompanyManagers=Visualizza nomi responsabili @@ -469,7 +472,7 @@ ModuleCompanyCodeDigitaria=Accounting code depends on third-party code. The code ModuleCompanyCodeCustomerDigitaria=%s seguito dal nome del cliente troncato dal numero di caratteri: %s per il codice contabile del cliente. ModuleCompanyCodeSupplierDigitaria=%s seguito dal nome del fornitore troncato dal numero di caratteri: %s per il codice contabile del fornitore. Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to create and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce a third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1=validation, 2=first approval and 3=second approval if amount is enough).
    Set this to empty if one approval (2 steps) is enough, set it to a very low value (0.1) if a second approval (3 steps) is always required. -UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than... +UseDoubleApproval=Utilizzare un'approvazione in 3 passaggi quando l'importo (senza tasse) è superiore a ... WarningPHPMail=WARNING: It is often better to setup outgoing emails to use the email server of your provider instead of the default setup. Some email providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted (be careful also of your email provider's sending quota).
    If your Email provider (like Yahoo) has this restriction, you must change Email setup to choose the other method "SMTP server" and enter the SMTP server and credentials provided by your Email provider. WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. WarningPHPMailSPF=If the domain name in your sender email address is protected by SPF (ask you email provider), you must include the following IPs in the SPF record of the DNS of your domain: %s. @@ -481,7 +484,7 @@ PageUrlForDefaultValues=You must enter the relative path of the page URL. If you PageUrlForDefaultValuesCreate=
    Example:
    For the form to create a new third party, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/", so use path like mymodule/mypage.php and not custom/mymodule/mypage.php.
    If you want default value only if url has some parameter, you can use %s PageUrlForDefaultValuesList=
    Example:
    For the page that lists third parties, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/" so use a path like mymodule/mypagelist.php and not custom/mymodule/mypagelist.php.
    If you want default value only if url has some parameter, you can use %s AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) -EnableDefaultValues=Enable customization of default values +EnableDefaultValues=Abilita l'utilizzo di valori predefiniti personalizzati EnableOverwriteTranslation=Abilita queste traduzioni personalizzate GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code. To change this value, you must edit it from Home-Setup-translation. WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior. @@ -492,7 +495,7 @@ WatermarkOnDraftExpenseReports=Bozze delle note spese filigranate AttachMainDocByDefault=Imposta a 1 se vuoi allegare il documento principale alle email come impostazione predefinita (se applicabile) FilesAttachedToEmail=Allega file SendEmailsReminders=Invia promemoria agenda via email -davDescription=Setup a WebDAV server +davDescription=Configurazione di un server WebDAV DAVSetup=Configurazione del modulo DAV DAV_ALLOW_PRIVATE_DIR=Enable the generic private directory (WebDAV dedicated directory named "private" - login required) DAV_ALLOW_PRIVATE_DIRTooltip=The generic private directory is a WebDAV directory anybody can access with its application login/pass. @@ -504,163 +507,163 @@ DAV_ALLOW_ECM_DIRTooltip=The root directory where all files are manually uploade Module0Name=Utenti e gruppi Module0Desc=Gestione utenti/impiegati e gruppi Module1Name=Soggetti terzi -Module1Desc=Companies and contacts management (customers, prospects...) +Module1Desc=Gestione aziende e soggetti terzi (clienti, fornitori e contatti) Module2Name=Commerciale Module2Desc=Gestione commerciale -Module10Name=Accounting (simplified) +Module10Name=Contabilità (semplificata) Module10Desc=Resoconti contabili semplici (spese, ricavi) basati sul contenuto del database. Non usa tabelle di contabilità generale. Module20Name=Proposte Module20Desc=Gestione proposte commerciali Module22Name=Mass Emailings -Module22Desc=Manage bulk emailing +Module22Desc=Gestione invii di posta massiva Module23Name=Energia Module23Desc=Monitoraggio del consumo energetico Module25Name=Ordini Cliente -Module25Desc=Sales order management +Module25Desc=Gestione ordini cliente Module30Name=Fatture -Module30Desc=Management of invoices and credit notes for customers. Management of invoices and credit notes for suppliers +Module30Desc=Gestione delle fatture e note di accredito per i clienti. Gestione di fatture e note di accredito per fornitori Module40Name=Fornitori -Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) +Module40Desc=Gestione fornitori e acquisti (ordini e fatture) Module42Name=Debug Logs Module42Desc=Strumenti di tracciamento (file, syslog, ...). Questi strumenti sono per scopi tecnici/correzione. Module49Name=Redazione Module49Desc=Gestione redattori Module50Name=Prodotti -Module50Desc=Management of Products +Module50Desc=Gestione prodotti Module51Name=Posta massiva Module51Desc=Modulo per la gestione dell'invio massivo di posta cartacea Module52Name=Magazzino -Module52Desc=Stock management (for products only) +Module52Desc=Gestione magazzino prodotti Module53Name=Servizi Module53Desc=Gestione servizi Module54Name=Contratti/Abbonamenti -Module54Desc=Management of contracts (services or recurring subscriptions) +Module54Desc=Gestione contratti (servizi o abbonamenti) Module55Name=Codici a barre Module55Desc=Gestione codici a barre Module56Name=Telefonia Module56Desc=Integrazione telefonia -Module57Name=Bank Direct Debit payments -Module57Desc=Management of Direct Debit payment orders. It includes generation of SEPA file for European countries. +Module57Name=Ordini addebito diretto (SEPA) +Module57Desc=Gestione degli ordini di pagamento SEPA Direct Debit. Comprende anche la generazione di file SEPA per i paesi europei. Module58Name=ClickToDial Module58Desc=Integrazione di un sistema ClickToDial (per esempio Asterisk) Module59Name=Bookmark4u Module59Desc=Aggiungi la possibilità di generare account Bookmark4u da un account Dolibarr Module60Name=Stickers -Module60Desc=Management of stickers +Module60Desc=Gestione stickers Module70Name=Interventi Module70Desc=Gestione Interventi Module75Name=Spese di viaggio e note spese Module75Desc=Gestione spese di viaggio e note spese Module80Name=Spedizioni -Module80Desc=Shipments and delivery note management -Module85Name=Banche & Denaro +Module80Desc=Gestione spedizioni e bolla di consegna +Module85Name=Banche e cassa Module85Desc=Gestione di conti bancari o conti di cassa -Module100Name=External Site -Module100Desc=Add a link to an external website as a main menu icon. Website is shown in a frame under the top menu. +Module100Name=Sito esterno +Module100Desc=Aggiungi un collegamento ad un sito Web esterno come icona del menu principale. Il sito Web sarà visualizzato in un iframe. Module105Name=Mailman e SPIP Module105Desc=Interfaccia Mailman o SPIP per il modulo membri Module200Name=LDAP -Module200Desc=LDAP directory synchronization +Module200Desc=Sincronizzazione directory LDAP Module210Name=Postnuke Module210Desc=Integrazione Postnuke Module240Name=Esportazione dati Module240Desc=Strumento per esportare i dati di Dolibarr (con assistenti) Module250Name=Importazione dati -Module250Desc=Tool to import data into Dolibarr (with assistants) +Module250Desc=Strumento per importare dati in Dolibarr (con assistente) Module310Name=Membri Module310Desc=Gestione membri della fondazione Module320Name=Feed RSS -Module320Desc=Add a RSS feed to Dolibarr pages -Module330Name=Bookmarks & Shortcuts -Module330Desc=Create shortcuts, always accessible, to the internal or external pages to which you frequently access -Module400Name=Projects or Leads -Module400Desc=Management of projects, leads/opportunities and/or tasks. You can also assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module320Desc=Aggiungi un feed RSS alle pagine Dolibarr +Module330Name=Segnalibri e scorciatoie +Module330Desc=Crea collegamenti, sempre accessibili, alle pagine interne o esterne a cui accedi più frequentemente +Module400Name=Progetti o Opportunità +Module400Desc=Gestione di progetti ed opportunità. Puoi assegnare ogni elemento (fattura, ordini, proposte commerciali, interventi, ...) ad un progetto ed avere una vista trasversale dalla scheda del progetto Module410Name=Calendario web Module410Desc=Integrazione calendario web -Module500Name=Taxes & Special Expenses -Module500Desc=Management of other expenses (sale taxes, social or fiscal taxes, dividends, ...) +Module500Name=Tasse e spese speciali +Module500Desc=Amministrazione delle spese speciali quali tasse, contributi sociali, dividendi e salari. Module510Name=Stipendi -Module510Desc=Record and track employee payments +Module510Desc=Gestione salari e pagamenti dei dipendenti Module520Name=Prestiti Module520Desc=Gestione dei prestiti -Module600Name=Notifications on business event -Module600Desc=Send email notifications triggered by a business event: per user (setup defined on each user), per third-party contacts (setup defined on each third party) or by specific emails +Module600Name=Notifiche di eventi aziendali +Module600Desc=Inviare notifiche EMail (generate da eventi aziendali) ad utenti (impostazione definita per ogni utente) o contatti di terze parti (impostazione definita per ogni terza parte) o a email predefinite Module600Long=Note that this module sends emails in real-time when a specific business event occurs. If you are looking for a feature to send email reminders for agenda events, go into the setup of module Agenda. Module610Name=Varianti prodotto -Module610Desc=Creation of product variants (color, size etc.) +Module610Desc=Creazione delle varianti di prodotto (colore, taglia etc.) Module700Name=Donazioni Module700Desc=Gestione donazioni -Module770Name=Expense Reports -Module770Desc=Manage expense reports claims (transportation, meal, ...) -Module1120Name=Vendor Commercial Proposals -Module1120Desc=Request vendor commercial proposal and prices +Module770Name=Rimborso spese +Module770Desc=Gestione delle richieste di rimborso spese (trasporti, pasti, ...) +Module1120Name=Richieste quotazioni fornitore +Module1120Desc=Gestione delle richieste di offerta e quotazioni verso i fornitori Module1200Name=Mantis Module1200Desc=Integrazione Mantis Module1520Name=Generazione dei documenti -Module1520Desc=Mass email document generation +Module1520Desc=Generazione di massa documenti di posta elettronica Module1780Name=Tag/categorie Module1780Desc=Crea tag / categorie (prodotti, clienti, fornitori, contatti o membri) Module2000Name=FCKeditor -Module2000Desc=Allow text fields to be edited/formatted using CKEditor (html) +Module2000Desc=Permette di usare un editor avanzato (CKEditor) per alcune aree di testo Module2200Name=Prezzi dinamici -Module2200Desc=Use maths expressions for auto-generation of prices +Module2200Desc=Utilizza espressioni matematiche per la generazione automatica dei prezzi Module2300Name=Processi pianificati Module2300Desc=Gestione delle operazioni pianificate Module2400Name=Eventi/Agenda -Module2400Desc=Track events. Log automatic events for tracking purposes or record manual events or meetings. This is the principal module for good Customer or Vendor Relationship Management. +Module2400Desc=Gestione eventi/compiti e ordine del giorno. Registra manualmente eventi nell'agenda o consenti all'applicazione di registrare eventi automaticamente a scopo di monitoraggio. Questo è il modulo principale per una buona gestione delle relazioni con clienti e fornitori. Module2500Name=DMS / ECM -Module2500Desc=Document Management System / Electronic Content Management. Automatic organization of your generated or stored documents. Share them when you need. +Module2500Desc=Sistema di gestione documentale / Gestione elettronica dei contenuti. Organizzazione automatica dei documenti generati o archiviati. Condivisione con chi ne ha bisogno. Module2600Name=API/Web services (SOAP server) Module2600Desc=Attiva il server SOAP che fornisce i servizi di API Module2610Name=API/Web services (REST server) Module2610Desc=Attiva il server REST che fornisce i servizi di API Module2660Name=Chiamata WebServices (SOAP client) -Module2660Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Only Purchase orders are currently supported.) +Module2660Desc=Abilitare il client dei Web service Dolibarr (può essere utilizzato per inviare dati / richieste a server esterni. Attualmente sono supportati solo gli ordini di acquisto). Module2700Name=Gravatar -Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Needs Internet access +Module2700Desc=Usa il servizio online Gravatar (www.gravatar.com) per mostrare le foto degli utenti/membri. Necessita dell'accesso a Internet Module2800Desc=Client FTP Module2900Name=GeoIPMaxmind Module2900Desc=Localizzazione degli accessi tramite GeoIP Maxmind -Module3200Name=Unalterable Archives -Module3200Desc=Enable an unalterable log of business events. Events are archived in real-time. The log is a read-only table of chained events that can be exported. This module may be mandatory for some countries. +Module3200Name=Archivi inalterabili +Module3200Desc=Abilita un registro inalterabile degli eventi aziendali. Gli eventi sono archiviati in tempo reale. Il registro è una tabella di sola lettura degli eventi concatenati che possono essere esportati. Questo modulo potrebbe essere obbligatorio per alcuni paesi. Module4000Name=Risorse umane -Module4000Desc=Human resources management (management of department, employee contracts and feelings) +Module4000Desc=Gestione delle risorse umane (gestione dei dipartimenti e contratti dipendenti) Module5000Name=Multiazienda Module5000Desc=Permette la gestione di diverse aziende Module6000Name=Flusso di lavoro -Module6000Desc=Workflow management (automatic creation of object and/or automatic status change) +Module6000Desc=Gestione flussi di lavoro (creazione automatica di oggetti e / o cambio di stati automatico) Module10000Name=Siti web -Module10000Desc=Create websites (public) with a WYSIWYG editor. Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. -Module20000Name=Leave Request Management -Module20000Desc=Define and track employee leave requests -Module39000Name=Product Lots -Module39000Desc=Lots, serial numbers, eat-by/sell-by date management for products +Module10000Desc=Crea siti Web (pubblici) con un editor WYSIWYG. Si tratta di un CMS orientato a webmaster o sviluppatori (richiesta conoscenza di linguaggio HTML e CSS). Basta configurare il proprio server Web (Apache, Nginx, ...) in modo che punti alla directory Dolibarr dedicata per averlo online su Internet con il proprio nome di dominio. +Module20000Name=Richieste ferie / permesso +Module20000Desc=Gestione delle richieste di ferie e permessi dei dipendenti aziendali +Module39000Name=Lotti di prodotto +Module39000Desc=Lotti, numeri seriali, gestione delle date di scadenza dei prodotti Module40000Name=Multicurrency -Module40000Desc=Use alternative currencies in prices and documents +Module40000Desc=Usa valute alternative in prezzi e documenti Module50000Name=PayBox -Module50000Desc=Offer customers a PayBox online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) +Module50000Desc=Modulo per offrire una pagina di pagamento che accetti pagamenti con carte di credito o debito via PayBox. Può essere usato per tutti i pagamenti dei clienti o solo per alcune specifiche tipologie di pagamenti in Dolibarr (fatture, ordini, ...) Module50100Name=Punti vendita SimplePOS Module50100Desc=Modulo per la creazione di un punto vendita SimplePOS (POS semplice) Module50150Name=Punti vendita TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Modulo Punto vendita TakePOS (touchscreen POS). Module50200Name=Paypal -Module50200Desc=Offer customers a PayPal online payment page (PayPal account or credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) +Module50200Desc=Modulo per offrire una pagina di pagamento che accetti pagamenti PayPal (carte di credito/debito o credito PayPal). Può essere usato per tutti i pagamenti dei clienti o solo per alcune specifiche tipologie di pagamenti in Dolibarr (fatture, ordini, ...) Module50300Name=Stripe -Module50300Desc=Offer customers a Stripe online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) -Module50400Name=Accounting (double entry) -Module50400Desc=Accounting management (double entries, support general and auxiliary ledgers). Export the ledger in several other accounting software formats. +Module50300Desc=Offri ai clienti una pagina di pagamento online Stripe (carte di credito / debito). Questo modulo può essere usato per consentire ai tuoi clienti di effettuare pagamenti ad-hoc o pagamenti relativi a uno specifico oggetto Dolibarr (fattura, ordine ecc ...) +Module50400Name=Contabilità (partita doppia) +Module50400Desc=Gestione contabile (partita doppia, supporto per libri contabili principali e ausiliari). Esportazione del libro mastro in diversi altri formati per software contabili. Module54000Name=PrintIPP Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installed on server). Module55000Name=Sondaggio, Indagine o Votazione -Module55000Desc=Create online polls, surveys or votes (like Doodle, Studs, RDVz etc...) +Module55000Desc=Modulo per creare sondaggi, indagini o feedback online (Doodle, Studs, Rdvz o simili) Module59000Name=Margini Module59000Desc=Modulo per gestire margini Module60000Name=Commissioni Module60000Desc=Modulo per gestire commissioni Module62000Name=Import-Export -Module62000Desc=Add features to manage Incoterms +Module62000Desc=Aggiunge funzioni per la gestione Incoterm Module63000Name=Risorse -Module63000Desc=Manage resources (printers, cars, rooms, ...) for allocating to events +Module63000Desc=Gestione risorse (stampanti, automobili, locali, ...) e loro utilizzo all'interno degli eventi Permission11=Vedere le fatture attive Permission12=Creare fatture attive Permission13=Annullare le fatture attive @@ -715,10 +718,10 @@ Permission109=Eliminare spedizioni Permission111=Vedere i conti bancari Permission112=Creare/modificare/cancellare e confrontare operazioni bancarie Permission113=Imposta conti finanziari (crea, gestire le categorie) -Permission114=Reconcile transactions +Permission114=Riconciliare transazioni Permission115=Operazioni di esportazione ed estratti conto Permission116=Trasferimenti tra conti -Permission117=Manage checks dispatching +Permission117=Gestire il deposito di assegni Permission121=Vedere soggetti terzi collegati all'utente Permission122=Creare/modificare terzi legati all'utente Permission125=Eliminare terzi legati all'utente @@ -737,7 +740,7 @@ Permission162=Crea/modifica contratti/abbonamenti Permission163=Attiva un servizio/sottoscrizione di un contratto Permission164=Disable a service/subscription of a contract Permission165=Elimina contratti / abbonamenti -Permission167=Esprta contratti +Permission167=Esportare contratti Permission171=Vedi viaggi e spese (propri e i suoi subordinati) Permission172=Crea/modifica nota spese Permission173=Elimina nota spese @@ -816,7 +819,7 @@ Permission401=Vedere sconti Permission402=Creare/modificare sconti Permission403=Convalidare sconti Permission404=Eliminare sconti -Permission430=Use Debug Bar +Permission430=Usa la barra di debug Permission511=Read payments of salaries Permission512=Create/modify payments of salaries Permission514=Delete payments of salaries @@ -838,11 +841,11 @@ Permission701=Vedere donazioni Permission702=Creare/modificare donazioni Permission703=Eliminare donazioni Permission771=Visualizzare le note spese (tue e dei tuoi subordinati) -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 +Permission772=Creare / modificare le note spese +Permission773=Eliminare le note spese +Permission774=Vedere tutte le note spese (anche per utenti non subordinati) +Permission775=Approvare le note spese +Permission776=Pagare le note spese Permission779=Esporta note spese Permission1001=Vedere magazzino Permission1002=Crea/modifica magazzini @@ -870,18 +873,18 @@ Permission1188=Delete purchase orders Permission1190=Approve (second approval) purchase orders Permission1201=Ottieni il risultato di un esportazione Permission1202=Creare/Modificare esportazioni -Permission1231=Read vendor invoices -Permission1232=Create/modify vendor invoices -Permission1233=Validate vendor invoices -Permission1234=Delete vendor invoices -Permission1235=Send vendor invoices by email +Permission1231=Visualizzare le fatture fornitori +Permission1232=Creare / modificare fatture fornitore +Permission1233=Convalidare fatture fornitore +Permission1234=Eliminare fatture fornitore +Permission1235=Inviare fatture fornitore tramite e-mail Permission1236=Export vendor invoices, attributes and payments Permission1237=Export purchase orders and their details Permission1251=Eseguire importazioni di massa di dati esterni nel database (data load) Permission1321=Esportare fatture attive, attributi e pagamenti Permission1322=Riaprire le fatture pagate Permission1421=Esporta Ordini Cliente e attributi -Permission2401=Read actions (events or tasks) linked to his user account (if owner of event or just assigned to) +Permission2401=Leggere le azioni (eventi o attività) collegate al suo account utente (se proprietario dell'evento) Permission2402=Creare/modificare azioni (eventi o compiti) personali Permission2403=Cancellare azioni (eventi o compiti) personali Permission2411=Vedere azioni (eventi o compiti) altrui @@ -908,7 +911,7 @@ Permission20002=Create/modify your leave requests (your leave and those of your Permission20003=Eliminare le richieste di ferie Permission20004=Read all leave requests (even of user not subordinates) Permission20005=Create/modify leave requests for everybody (even of user not subordinates) -Permission20006=Admin leave requests (setup and update balance) +Permission20006=Amministrazione richieste di ferie/permessi (impostazione e aggiornamento del bilancio) Permission20007=Approvare le richieste di ferie Permission23001=Leggi lavoro pianificato Permission23002=Crea / Aggiorna lavoro pianificato @@ -923,7 +926,7 @@ Permission50412=Write/Edit operations in ledger Permission50414=Delete operations in ledger Permission50415=Delete all operations by year and journal in ledger Permission50418=Export operations of the ledger -Permission50420=Report and export reports (turnover, balance, journals, ledger) +Permission50420=Report e report sulle esportazioni (fatturato, saldo, giornali, libro mastro) Permission50430=Define and close a fiscal period Permission50440=Manage chart of accounts, setup of accountancy Permission51001=Read assets @@ -943,25 +946,25 @@ Permission63004=Collega le risorse agli eventi DictionaryCompanyType=Tipo di soggetto terzo DictionaryCompanyJuridicalType=Entità legali di terze parti DictionaryProspectLevel=Liv. cliente potenziale -DictionaryCanton=States/Provinces +DictionaryCanton=Stati / Province DictionaryRegion=Regioni DictionaryCountry=Paesi DictionaryCurrency=Valute -DictionaryCivility=Title of civility +DictionaryCivility=Titoli personali e professionali DictionaryActions=Tipi di azioni/eventi DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Aliquote IVA o Tasse di vendita -DictionaryRevenueStamp=Amount of tax stamps +DictionaryRevenueStamp=Ammontare dei valori bollati DictionaryPaymentConditions=Termini di Pagamento -DictionaryPaymentModes=Payment Modes +DictionaryPaymentModes=Tipi di pagamento DictionaryTypeContact=Tipi di contatti/indirizzi DictionaryTypeOfContainer=Website - Type of website pages/containers DictionaryEcotaxe=Ecotassa (WEEE) DictionaryPaperFormat=Formati di carta DictionaryFormatCards=Card formats -DictionaryFees=Expense report - Types of expense report lines +DictionaryFees=Note spesa - Tipi di righe delle note spesa DictionarySendingMethods=Metodi di spedizione -DictionaryStaff=Number of Employees +DictionaryStaff=Numero di dipendenti DictionaryAvailability=Tempi di consegna DictionaryOrderMethods=Metodi di ordinazione DictionarySource=Origine delle proposte/ordini @@ -973,21 +976,22 @@ DictionaryUnits=Unità DictionaryMeasuringUnits=Unità di misura DictionarySocialNetworks=Social networks DictionaryProspectStatus=Stato cliente potenziale -DictionaryHolidayTypes=Types of leave -DictionaryOpportunityStatus=Lead status for project/lead -DictionaryExpenseTaxCat=Expense report - Transportation categories -DictionaryExpenseTaxRange=Expense report - Range by transportation category +DictionaryHolidayTypes=Tipi di ferie/permessi +DictionaryOpportunityStatus=Stato opportunità per progetto/clienti potenziali +DictionaryExpenseTaxCat=Note spesa - Categorie di trasporto +DictionaryExpenseTaxRange=Note spesa: intervallo per categoria di trasporto SetupSaved=Impostazioni salvate SetupNotSaved=Impostazioni non salvate -BackToModuleList=Back to Module list -BackToDictionaryList=Back to Dictionaries list +BackToModuleList=Torna all'elenco dei moduli +BackToDictionaryList=Torna all'elenco dei dizionari TypeOfRevenueStamp=Type of tax stamp -VATManagement=Sales Tax Management -VATIsUsedDesc=By default when creating prospects, invoices, orders etc. the Sales Tax rate follows the active standard rule:
    If the seller is not subject to Sales tax, then Sales tax defaults to 0. End of rule.
    If the (seller's country = buyer's country), then the Sales tax by default equals the Sales tax of the product in the seller's country. End of rule.
    If the seller and buyer are both in the European Community and goods are transport-related products (haulage, shipping, airline), the default VAT is 0. This rule is dependant on the seller's country - please consult with your accountant. The VAT should be paid by the buyer to the customs office in their country and not to the seller. End of rule.
    If the seller and buyer are both in the European Community and the buyer is not a company (with a registered intra-Community VAT number) then the VAT defaults to the VAT rate of the seller's country. End of rule.
    If the seller and buyer are both in the European Community and the buyer is a company (with a registered intra-Community VAT number), then the VAT is 0 by default. End of rule.
    In any other case the proposed default is Sales tax=0. End of rule. -VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for cases like associations, individuals or small companies. +VATManagement=Gestione imposte sulle vendite +VATIsUsedDesc=Per impostazione predefinita quando si creano proposte commerciali, fatture, ordini ecc., L'aliquota IVA segue la regola standard attiva:
    Se il venditore non è soggetto all'imposta sulle vendite, per impostazione predefinita l'imposta sulle vendite è 0. Fine della regola.
    Se il (Paese del fornitore = Paese dell'acquirente), l'imposta sulle vendite per impostazione predefinita è uguale all'imposta sulle vendite del prodotto nel paese del fornitore. Fine della regola
    Se il fornitore e l'acquirente sono entrambi nella Comunità Europea e le merci sono prodotti relativi al trasporto (trasporto, spedizione, compagnia aerea), l'IVA di default è 0. Questa regola dipende dal paese del fornitore - consultare il proprio commercialista. L'IVA deve essere pagata dall'acquirente all'ufficio doganale del proprio paese e non al venditore. Fine della regola
    Se il fornitore e l'acquirente sono entrambi nella Comunità Europea e l'acquirente non è una società (con un numero di partita IVA intracomunitaria registrato), l'IVA si imposta automaticamente sull'aliquota IVA del paese del fornitore. Fine della regola
    Se il fornitore e l'acquirente sono entrambi nella Comunità Europea e l'acquirente è una società (con una partita IVA intracomunitaria registrata), l'IVA è 0 per impostazione predefinita. Fine della regola
    In tutti gli altri casi il valore predefinito proposto è IVA = 0. Fine della regola +VATIsNotUsedDesc=Per impostazione predefinita, l'imposta sulle vendite proposta è 0 che può essere utilizzata per casi come associazioni, privati o piccole aziende. VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Tariffa LocalTax1IsNotUsed=Non usare seconda tassa LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Per impostazione predefinita la proposta di IRPF è 0. Fine della regola. LocalTax2IsUsedExampleES=In Spagna, liberi professionisti e freelance che forniscono servizi e le aziende che hanno scelto il regime fiscale modulare. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Acquisti-vendite CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,11 +1025,12 @@ CalcLocaltax2=Acquisti CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Vendite CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Descrizione (utilizzata in tutti i documenti per cui non esiste la traduzione) LabelOnDocuments=Descrizione sul documento -LabelOrTranslationKey=Label or translation key -ValueOfConstantKey=Value of a configuration constant -NbOfDays=No. of days +LabelOrTranslationKey=Etichetta o chiave di traduzione +ValueOfConstantKey=Valore di una costante +NbOfDays=Numero di giorni AtEndOfMonth=Alla fine del mese CurrentNext=Corrente/Successivo Offset=Scostamento @@ -1059,23 +1067,23 @@ Skin=Tema DefaultSkin=Skin di default MaxSizeList=Lunghezza massima elenchi DefaultMaxSizeList=Lunghezza massima predefinita elenchi -DefaultMaxSizeShortList=Default max length for short lists (i.e. in customer card) +DefaultMaxSizeShortList=Massima lunghezza di default per gli elenchi brevi (es in scheda cliente) MessageOfDay=Messaggio del giorno MessageLogin=Messaggio per la pagina di login LoginPage=Pagina di login BackgroundImageLogin=Immagine di sfondo PermanentLeftSearchForm=Modulo di ricerca permanente nel menu di sinistra DefaultLanguage=Lingua predefinita (codice lingua) -EnableMultilangInterface=Enable multilanguage support +EnableMultilangInterface=Abilita supporto multilingua EnableShowLogo=Abilita la visualizzazione del logo CompanyInfo=Società/Organizzazione -CompanyIds=Company/Organization identities +CompanyIds=Informazioni società/fondazione CompanyName=Nome CompanyAddress=Indirizzo CompanyZip=CAP CompanyTown=Città CompanyCountry=Paese -CompanyCurrency=Principali valute +CompanyCurrency=Valuta principale CompanyObject=Mission della società IDCountry=ID paese Logo=Logo @@ -1091,26 +1099,26 @@ Alerts=Avvisi e segnalazioni DelaysOfToleranceBeforeWarning=Delay before displaying a warning alert for: DelaysOfToleranceDesc=Set the delay before an alert icon %s is shown onscreen for the late element. Delays_MAIN_DELAY_ACTIONS_TODO=Planned events (agenda events) not completed -Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Project not closed in time +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Progetto non chiuso in tempo Delays_MAIN_DELAY_TASKS_TODO=Planned task (project tasks) not completed Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Order not processed Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Purchase order not processed -Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Proposal not closed -Delays_MAIN_DELAY_PROPALS_TO_BILL=Proposal not billed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Proposta non chiusa +Delays_MAIN_DELAY_PROPALS_TO_BILL=Proposta non fatturata Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Service to activate Delays_MAIN_DELAY_RUNNING_SERVICES=Expired service -Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Unpaid vendor invoice +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Fattura fornitore non pagata Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Unpaid customer invoice Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Pending bank reconciliation Delays_MAIN_DELAY_MEMBERS=Delayed membership fee Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Check deposit not done -Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve +Delays_MAIN_DELAY_EXPENSEREPORTS=Note spese da approvare Delays_MAIN_DELAY_HOLIDAYS=Invia richieste da approvare SetupDescription1=Prima di iniziare ad utilizzare Dolibarr si devono definire alcuni parametri iniziali ed abilitare/configurare i moduli. SetupDescription2=Le 2 seguenti sezioni sono obbligatorie (le prime 2 sezioni nel menu Impostazioni): -SetupDescription3=%s -> %s
    Parametri di base utilizzati per personalizzare il comportamento predefinito della tua applicazione (es: caratteristiche relative alla nazione). -SetupDescription4=%s -> %s
    Questo software è una suite composta da molteplici moduli/applicazioni, tutti più o meno indipendenti. I moduli rilevanti per le tue necessità devono essere abilitati e configurati. Nuovi oggetti/opzioni vengono aggiunti ai menu quando un modulo viene attivato. -SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +SetupDescription5=Altre voci di menu consentono la gestione di parametri opzionali. LogEvents=Eventi di audit di sicurezza Audit=Audit InfoDolibarr=Informazioni su Dolibarr @@ -1127,11 +1135,11 @@ SecurityEventsPurged=Eventi di sicurezza eliminati LogEventDesc=Enable logging for specific security events. Administrators the log via menu %s - %s. Warning, this feature can generate a large amount of data in the database. AreaForAdminOnly=I parametri di setup possono essere definiti solo da utenti di tipo amministratore. SystemInfoDesc=Le informazioni di sistema sono dati tecnici visibili in sola lettura e solo dagli amministratori. -SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" or "%s" button at the bottom of the page. -AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. +SystemAreaForAdminOnly=Questa area è disponibile solo per gli utenti amministratori. Le autorizzazioni utente Dolibarr non possono modificare questa limitazione. +CompanyFundationDesc=Modifica le informazioni dell'azienda / fondazione. Fai clic sul pulsante "%s" nella parte inferiore della pagina. +AccountantDesc=Se hai un contabile / contabile esterno, puoi modificare qui le sue informazioni. AccountantFileNumber=Accountant code -DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. +DisplayDesc=Qui è possibile scegliere i parametri relativi all'aspetto di Dolibarr AvailableModules=Moduli disponibili ToActivateModule=Per attivare i moduli, andare nell'area Impostazioni (Home->Impostazioni->Moduli). SessionTimeOut=Timeout delle sessioni @@ -1144,16 +1152,16 @@ TriggerAlwaysActive=I trigger in questo file sono sempre attivi, indipendentemen TriggerActiveAsModuleActive=I trigger in questo file sono attivi se il modulo %s è attivo. GeneratedPasswordDesc=Choose the method to be used for auto-generated passwords. DictionaryDesc=Inserire tutti i dati di riferimento. È possibile aggiungere i propri valori a quelli di default. -ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting. For a full list of the parameters available see here. +ConstDesc=Questa pagina consente di modificare (sovrascrivere) i parametri non disponibili in altre pagine. Questi sono parametri principalmente riservati agli sviluppatori o per la risoluzione avanzata dei problemi. MiscellaneousDesc=Definire qui tutti gli altri parametri relativi alla sicurezza. LimitsSetup=Limiti/impostazioni di precisione -LimitsDesc=You can define limits, precisions and optimizations used by Dolibarr here -MAIN_MAX_DECIMALS_UNIT=Max. decimals for unit prices -MAIN_MAX_DECIMALS_TOT=Max. decimals for total prices -MAIN_MAX_DECIMALS_SHOWN=Max. decimals for prices shown on screen. Add an ellipsis ... after this parameter (e.g. "2...") if you want to see "..." suffixed to the truncated price. -MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something other than base 10. For example, put 0.05 if rounding is done by 0.05 steps) +LimitsDesc=Da qui è possibile definire i limiti e la precisione utilizzati da Dolibarr. +MAIN_MAX_DECIMALS_UNIT=Limite massimo di decimali per i prezzi unitari +MAIN_MAX_DECIMALS_TOT=Limite massimo di decimali per il totale dei prezzi. +MAIN_MAX_DECIMALS_SHOWN=Limite massimo dei decimali per i prezzi visualizzati a schermo (Aggiungi ... dopo tale numero (es. "2...") se vuoi visualizzare tre puntini per indicare il troncamento del numero). +MAIN_ROUNDING_RULE_TOT=Regola per l'arrotondamento (per i pochi paesi in cui l'arrotondamento non è calcolato in base 10). Per esempio, inserisci 0.05 se l'arrotondamento viene fatto a step di 0.05 UnitPriceOfProduct=Prezzo unitario netto di un prodotto -TotalPriceAfterRounding=Total price (excl/vat/incl tax) after rounding +TotalPriceAfterRounding=Prezzo totale (IVA esclusa / IVA inclusa) dopo l'arrotondamento ParameterActiveForNextInputOnly=Parametro valido esclusivamente per il prossimo inserimento NoEventOrNoAuditSetup=No security event has been logged. This is normal if Audit has not been enabled in the "Setup - Security - Events" page. NoEventFoundWithCriteria=No security event has been found for this search criteria. @@ -1170,15 +1178,15 @@ RestoreDesc3=Restore the database structure and data from a backup dump file int RestoreMySQL=Importa MySQL ForcedToByAModule= Questa regola è impsotata su %s da un modulo attivo PreviousDumpFiles=Existing backup files -PreviousArchiveFiles=Existing archive files -WeekStartOnDay=First day of the week +PreviousArchiveFiles=Archivio files esistente +WeekStartOnDay=Primo giorno della settimana RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Program version %s differs from Database version %s) YouMustRunCommandFromCommandLineAfterLoginToUser=È necessario eseguire questo comando dal riga di comando dopo il login in una shell con l'utente %s. YourPHPDoesNotHaveSSLSupport=Il PHP del server non supporta SSL DownloadMoreSkins=Scarica altre skin SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is sequential with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Nei documenti mostra identità professionale completa di: +ShowVATIntaInAddress=Nascondi il numero di partita IVA intracomunitaria negli indirizzi TranslationUncomplete=Traduzione incompleta MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1188,31 +1196,31 @@ MeteoPercentageModEnabled=Percentage mode enabled MeteoUseMod=Clicca per usare %s TestLoginToAPI=Test login per API ProxyDesc=Some features of Dolibarr require internet access. Define here the internet connection parameters such as access through a proxy server if necessary. -ExternalAccess=External/Internet Access +ExternalAccess=Accesso esterno / Internet MAIN_PROXY_USE=Use a proxy server (otherwise access is direct to the internet) MAIN_PROXY_HOST=Proxy server: Name/Address MAIN_PROXY_PORT=Proxy server: Port MAIN_PROXY_USER=Proxy server: Login/User MAIN_PROXY_PASS=Proxy server: Password -DefineHereComplementaryAttributes=Define here any additional/custom attributes that you want to be included for: %s +DefineHereComplementaryAttributes=Definire gli eventuali attributi aggiuntivi / campi personalizzati che devono essere inclusi negli oggetti: %s ExtraFields=Campi extra -ExtraFieldsLines=Complementary attributes (lines) -ExtraFieldsLinesRec=Complementary attributes (templates invoices lines) -ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) -ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) +ExtraFieldsLines=Attributi complementari (righe) +ExtraFieldsLinesRec=Attributi complementari (righe di template di fattura) +ExtraFieldsSupplierOrdersLines=Attributi complementari (righe ordine) +ExtraFieldsSupplierInvoicesLines=Attributi complementari (righe di fattura) ExtraFieldsThirdParties=Attributi complementari (soggetto terzo) -ExtraFieldsContacts=Complementary attributes (contacts/address) +ExtraFieldsContacts=Attributi complementari (contatti / indirizzo) ExtraFieldsMember=Attributi Complementari (membri) ExtraFieldsMemberType=Attributi Complementari (tipo di membro) ExtraFieldsCustomerInvoices=Attributi aggiuntivi (fatture) -ExtraFieldsCustomerInvoicesRec=Complementary attributes (templates invoices) +ExtraFieldsCustomerInvoicesRec=Attributi complementari (template di fattura) ExtraFieldsSupplierOrders=Attributi Complementari (ordini) ExtraFieldsSupplierInvoices=Attributi Complementari (fatture) ExtraFieldsProject=Attributi Complementari (progetti) ExtraFieldsProjectTask=Attributi Complementari (attività) -ExtraFieldsSalaries=Complementary attributes (salaries) +ExtraFieldsSalaries=Attributi complementari (stipendi) ExtraFieldHasWrongValue=L'attributo %s ha un valore errato. -AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +AlphaNumOnlyLowerCharsAndNoSpace=solo caratteri alfanumerici e caratteri minuscoli senza spazio SendmailOptionNotComplete=Attenzione: su alcuni sistemi Linux, per poter inviare email, la configurazione di sendmail deve contenere l'opzione -ba (il parametro mail.force_extra_parameters nel file php.ini). Se alcuni destinatari non ricevono messaggi di posta elettronica, provate a modificare questo parametro con mail.force_extra_parameters =-BA). PathToDocuments=Percorso documenti PathDirectory=Percorso directory @@ -1233,7 +1241,7 @@ TotalNumberOfActivatedModules=Applicazioni/moduli attivi: %s / %s YouMustEnableOneModule=Devi abilitare almeno un modulo ClassNotFoundIntoPathWarning=Class %s not found in PHP path YesInSummer=Si in estate -OnlyFollowingModulesAreOpenedToExternalUsers=Note, only the following modules are available to external users (irrespective of the permissions of such users) and only if permissions are granted:
    +OnlyFollowingModulesAreOpenedToExternalUsers=Nota, solo i seguenti moduli sono disponibili per gli utenti esterni (indipendentemente dalle autorizzazioni di tali utenti) e solo se le autorizzazioni sono concesse:
    SuhosinSessionEncrypt=Sessioni salvate con criptazione tramite Suhosin ConditionIsCurrently=La condizione corrente è %s YouUseBestDriver=You use driver %s which is the best driver currently available. @@ -1261,16 +1269,18 @@ SetupPerso=Secondo la tua configurazione PasswordPatternDesc=Password pattern description ##### Users setup ##### RuleForGeneratedPasswords=Rules to generate and validate passwords -DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page +DisableForgetPasswordLinkOnLogonPage=Non mostrare il link "Password dimenticata?" nella pagina di accesso UsersSetup=Impostazioni modulo utenti -UserMailRequired=Email required to create a new user +UserMailRequired=È obbligatorio inserire un indirizzo email per creare un nuovo utente +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Impostazioni modulo risorse umane ##### Company setup ##### CompanySetup=Impostazioni modulo aziende -CompanyCodeChecker=Options for automatic generation of customer/vendor codes -AccountCodeManager=Options for automatic generation of customer/vendor accounting codes -NotificationsDesc=Email notifications can be sent automatically for some Dolibarr events.
    Recipients of notifications can be defined: +CompanyCodeChecker=Opzioni per la generazione automatica di codici cliente / fornitore +AccountCodeManager=Opzioni per la generazione automatica di codici contabili cliente / fornitore +NotificationsDesc=Le notifiche e-mail possono essere inviate automaticamente per alcuni eventi Dolibarr.
    I destinatari delle notifiche possono essere definiti: NotificationsDescUser=* per user, one user at a time. NotificationsDescContact=* per third-party contacts (customers or vendors), one contact at a time. NotificationsDescGlobal=* or by setting global email addresses in this setup page. @@ -1295,19 +1305,19 @@ BillsPDFModules=Modelli fattura in pdf BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Forza la data della fattura alla data di convalida -SuggestedPaymentModesIfNotDefinedInInvoice=Suggerire le modalità predefinite di pagamento delle fatture, se non definite già nella fattura +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Testo libero sulle fatture WatermarkOnDraftInvoices=Bozze delle fatture filigranate (nessuna filigrana se vuoto) PaymentsNumberingModule=Modello per la numerazione dei documenti -SuppliersPayment=Vendor payments -SupplierPaymentSetup=Vendor payments setup +SuppliersPayment=Pagamenti fornitori +SupplierPaymentSetup=Impostazioni pagamenti fornitori ##### Proposals ##### PropalSetup=Impostazioni proposte commerciali ProposalsNumberingModules=Modelli di numerazione della proposta commerciale ProposalsPDFModules=Modelli per pdf proposta commerciale -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Impostazione gestione Ordini Cliente OrdersNumberingModules=Modelli di numerazione ordini OrdersModelModule=Modelli per ordini in pdf @@ -1509,12 +1520,12 @@ CacheByClient=Cache per browser CompressionOfResources=Compressione delle risposte HTTP CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" TestNotPossibleWithCurrentBrowsers=Con i browser attuali l'individuazione automatica non è possibile -DefaultValuesDesc=Here you may define the default value you wish to use when creating a new record, and/or default filters or the sort order when you list records. -DefaultCreateForm=Default values (to use on forms) +DefaultValuesDesc=Qui è possibile definire il valore predefinito che si desidera utilizzare durante la creazione di un nuovo record e / o i filtri predefiniti o l'ordinamento quando si elencano i record. +DefaultCreateForm=Valori predefiniti (da utilizzare nei form) DefaultSearchFilters=Filtri di ricerca predefiniti -DefaultSortOrder=Default sort orders -DefaultFocus=Default focus fields -DefaultMandatory=Mandatory form fields +DefaultSortOrder=Ordinamento predefinito +DefaultFocus=Campi con focus predefinito +DefaultMandatory=Campi obbligatori ##### Products ##### ProductSetup=Impostazioni modulo prodotti ServiceSetup=Impostazioni modulo servizi @@ -1577,7 +1588,7 @@ 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 +NotificationSetup=Impostazioni modulo notifiche email NotificationEMailFrom=Sender email (From) for emails sent by the Notifications module FixedEmailTarget=Destinatario ##### Sendings ##### @@ -1603,7 +1614,7 @@ FCKeditorForUserSignature=WYSIWIG creazione/modifica della firma utente FCKeditorForMail=WYSIWIG creation/edition for all mail (except Tools->eMailing) FCKeditorForTicket=Creazione / edizione WYSIWIG per i biglietti ##### Stock ##### -StockSetup=Stock module setup +StockSetup=Impostazioni modulo magazzino IfYouUsePointOfSaleCheckModule=If you use the Point of Sale module (POS) provided by default or an external module, this setup may be ignored by your POS module. Most POS modules are designed by default to create an invoice immediately and decrease stock irrespective of the options here. So if you need or not to have a stock decrease when registering a sale from your POS, check also your POS module setup. ##### Menu ##### MenuDeleted=Menu soppresso @@ -1650,7 +1661,7 @@ SupposedToBeInvoiceDate=Alla data della fattura Buy=Acquista Sell=Vendi InvoiceDateUsed=Data utilizzata per la fatturazione -YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organization), so there is no VAT options to setup. +YourCompanyDoesNotUseVAT=La tua azienda è stata definita per non utilizzare l'IVA (Home - Installazione - Azienda / Organizzazione), quindi non ci sono opzioni IVA da impostare. AccountancyCode=Accounting Code AccountancyCodeSell=Codice contabilità vendite AccountancyCodeBuy=Codice contabilità acquisti @@ -1662,7 +1673,7 @@ AGENDA_USE_EVENT_TYPE=Use events types (managed in menu Setup -> Dictionaries -> AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of event in event create form AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view -AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda +AGENDA_DEFAULT_VIEW=Quale scheda si desidera aprire per impostazione predefinita quando si seleziona il menu Agenda AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). Note: Module %s must be enabled and correctly setup to have reminder sent at the correct frequency. AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (when event date is reached, each user is able to refuse this from the browser confirmation question) AGENDA_REMINDER_BROWSER_SOUND=Attiva i suoni per le notifiche @@ -1691,7 +1702,7 @@ CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dat CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) ##### Bookmark ##### BookmarkSetup=Impostazioni modulo segnalibri -BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or external web sites on your left menu. +BookmarkDesc=Questo modulo consente di gestire i segnalibri web. È possibile aggiungere collegamenti a pagine Dolibarr o a qualsiasi altro sito web esterno al menu di sinistra. NbOfBoomarkToShow=Numero massimo dei segnalibri da mostrare nel menu di sinistra ##### WebServices ##### WebServicesSetup=Impostazioni modulo webservices @@ -1704,8 +1715,8 @@ ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscel ApiProductionMode=Enable production mode (this will activate use of a cache for services management) ApiExporerIs=Puoi controllare e testare le API all'indirizzo OnlyActiveElementsAreExposed=Vengono esposti solo elementi correlati ai moduli abilitati -ApiKey=Key for API -WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it. +ApiKey=Chiave per API +WarningAPIExplorerDisabled=L'API Explorer è stato disabilitato. API Explorer non è tenuto a fornire servizi API. È uno strumento per gli sviluppatori per trovare / testare le API REST. Se hai bisogno di questo strumento, vai all'installazione del modulo API REST per attivarlo. ##### Bank ##### BankSetupModule=Impostazioni modulo banca/cassa FreeLegalTextOnChequeReceipts=Free text on check receipts @@ -1719,11 +1730,11 @@ ChequeReceiptsNumberingModule=Check Receipts Numbering Module MultiCompanySetup=Impostazioni modulo multiazienda ##### Suppliers ##### SuppliersSetup=Vendor module setup -SuppliersCommandModel=Complete template of Purchase Order +SuppliersCommandModel=Modello completo dell'ordine d'acquisto SuppliersCommandModelMuscadet=Complete template of Purchase Order -SuppliersInvoiceModel=Complete template of Vendor Invoice -SuppliersInvoiceNumberingModel=Vendor invoices numbering models -IfSetToYesDontForgetPermission=If set to yes, don't forget to provide permissions to groups or users allowed for the second approval +SuppliersInvoiceModel=Modello completo di fattura fornitore +SuppliersInvoiceNumberingModel=Modello per la numerazione delle fatture fornitore +IfSetToYesDontForgetPermission=Se impostato su un valore non nullo, non dimenticare di fornire autorizzazioni a gruppi o utenti autorizzati per la seconda approvazione ##### GeoIPMaxmind ##### GeoIPMaxmindSetup=Impostazioni modulo GeoIP Maxmind PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
    Examples:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb @@ -1749,7 +1760,7 @@ DeleteFiscalYear=Elimina periodo di esercizio ConfirmDeleteFiscalYear=Vuoi davvero cancellare questo periodo di esercizio? ShowFiscalYear=Mostra periodo di esercizio AlwaysEditable=Può essere modificato in qualsiasi momento -MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +MAIN_APPLICATION_TITLE=Forza il nome visibile dell'applicazione (avviso: l'impostazione del proprio nome qui potrebbe interrompere la funzionalità di accesso alla compilazione automatica quando si utilizza l'applicazione mobile DoliDroid) NbMajMin=Numero minimo di caratteri maiuscoli NbNumMin=Numero minimo di caratteri numerici NbSpeMin=Numero minimo di caratteri speciali @@ -1764,36 +1775,36 @@ ExpenseReportsSetup=Impostazioni del modulo note spese TemplatePDFExpenseReports=Document templates to generate expense report document ExpenseReportsIkSetup=Setup of module Expense Reports - Milles index ExpenseReportsRulesSetup=Setup of module Expense Reports - Rules -ExpenseReportNumberingModules=Expense reports numbering module +ExpenseReportNumberingModules=Modelli di numerazione delle note spesa NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. -YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for email notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerUser=List of automatic notifications per user* +YouMayFindNotificationsFeaturesIntoModuleNotification=È possibile trovare opzioni per le notifiche e-mail abilitando e configurando il modulo 'Notifiche di eventi lavorativi' +ListOfNotificationsPerUser=Elenco delle notifiche automatiche per utente* ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact** -ListOfFixedNotifications=List of automatic fixed notifications -GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users +ListOfFixedNotifications=Elenco di notifiche fisse automatiche +GoOntoUserCardToAddMore=Vai alla scheda "Notifiche" di un utente per aggiungere o rimuovere le notifiche per gli utenti GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses Threshold=Soglia -BackupDumpWizard=Wizard to build the database dump file +BackupDumpWizard=Procedura guidata per creare file di backup del database (dump) BackupZipWizard=Wizard to build the archive of documents directory SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason: SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is a manual process only a privileged user may perform. InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file %s to allow this feature. ConfFileMustContainCustom=Installing or building an external module from application need to save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to add the 2 directive lines:
    $dolibarr_main_url_root_alt='/custom';
    $dolibarr_main_document_root_alt='%s/custom'; HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over -HighlightLinesColor=Highlight color of the line when the mouse passes over (use 'ffffff' for no highlight) -HighlightLinesChecked=Highlight color of the line when it is checked (use 'ffffff' for no highlight) +HighlightLinesColor=Evidenzia il colore della linea quando passa il mouse (usa 'ffffff' per nessuna evidenziazione) +HighlightLinesChecked=Evidenzia il colore della linea quando è selezionata (usa 'ffffff' per nessuna evidenziazione) TextTitleColor=Colore del testo del titolo della pagina LinkColor=Colore dei link PressF5AfterChangingThis=Premi CTRL + F5 sulla tastiera o cancella la cache del browser per rendere effettiva la modifica di questo parametro NotSupportedByAllThemes=Funziona con il tema Eldy ma non è supportato da tutti gli altri temi -BackgroundColor=Background color -TopMenuBackgroundColor=Background color for Top menu +BackgroundColor=Colore di sfondo +TopMenuBackgroundColor=Colore di sfondo menù in alto TopMenuDisableImages=Nascondi le icone nel menu superiore -LeftMenuBackgroundColor=Background color for Left menu +LeftMenuBackgroundColor=Colore di sfondo menù laterale BackgroundTableTitleColor=Colore di sfondo della riga di intestazione -BackgroundTableTitleTextColor=Text color for Table title line -BackgroundTableLineOddColor=Background color for odd table lines -BackgroundTableLineEvenColor=Background color for even table lines +BackgroundTableTitleTextColor=Colore del testo per la riga del titolo delle tabelle +BackgroundTableLineOddColor=Colore di sfondo per le linee dispari delle tabelle +BackgroundTableLineEvenColor=Colore di sfondo per le linee pari delle tabelle MinimumNoticePeriod=Periodo minimo di avviso (le richieste di ferie/permesso dovranno essere effettuate prima di questo periodo) NbAddedAutomatically=Numero di giorni aggiunti ai contatori di utenti (automaticamente) ogni mese EnterAnyCode=Questo campo contiene un riferimento per identificare la linea. Inserisci qualsiasi valore di tua scelta, ma senza caratteri speciali. @@ -1884,19 +1895,19 @@ RemoveSpecialChars=Rimuovi caratteri speciali COMPANY_AQUARIUM_CLEAN_REGEX=Regex filter to clean value (COMPANY_AQUARIUM_CLEAN_REGEX) COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter su clean value (COMPANY_DIGITARIA_CLEAN_REGEX) COMPANY_DIGITARIA_UNIQUE_CODE=Duplicazione non consentita -GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) -GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here -HelpOnTooltip=Help text to show on tooltip -HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form +GDPRContact=DPO (Data Protection Officer) o in italiano RPD (Responsabile della Protezione dei Dati) +GDPRContactDesc=Se memorizzi dati relativi a società / cittadini europei, puoi memorizzare qui il contatto responsabile del trattamento dei dati personali/sensibili +HelpOnTooltip=Testo di aiuto da mostrare come tooltip +HelpOnTooltipDesc=Inserisci qui il testo o una chiave di traduzione affinché il testo sia mostrato nel tooltip quando questo campo appare in un form YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
    %s ChartLoaded=Chart of account loaded SocialNetworkSetup=Setup of module Social Networks EnableFeatureFor=Enable features for %s VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. +SwapSenderAndRecipientOnPDF=Scambia la posizione dell'indirizzo del mittente e del destinatario sui documenti PDF +FeatureSupportedOnTextFieldsOnly=Attenzione, funzionalità supportata solo nei campi di testo. Inoltre, è necessario impostare un parametro URL action = create o action = edit OPPURE il nome della pagina deve terminare con 'new.php' per attivare questa funzione. EmailCollector=Email collector -EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). +EmailCollectorDescription=Aggiungi un lavoro programmato e una pagina di configurazione per scansionare regolarmente caselle di posta elettronica (usando il protocollo IMAP) e registrare le email ricevute nella tua applicazione, nel posto giusto e / o creare automaticamente alcuni record (come i lead). NewEmailCollector=New Email Collector EMailHost=Host of email IMAP server MailboxSourceDirectory=Mailbox source directory @@ -1917,7 +1928,7 @@ RecordEvent=Record email event CreateLeadAndThirdParty=Crea Opportunità (e Soggetto terzo se necessario) CreateTicketAndThirdParty=Crea Ticket (e Soggetto terzo se necessario) CodeLastResult=Ultimo codice risultato -NbOfEmailsInInbox=Number of emails in source directory +NbOfEmailsInInbox=Numero di e-mail nella directory di origine LoadThirdPartyFromName=Load third party searching on %s (load only) LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found) WithDolTrackingID=Dolibarr Tracking ID found @@ -1926,8 +1937,8 @@ FormatZip=CAP MainMenuCode=Menu entry code (mainmenu) ECMAutoTree=Show automatic ECM tree OperationParamDesc=Define values to use for action, or how to extract values. For example:
    objproperty1=SET:abc
    objproperty1=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:abc
    objproperty4=EXTRACT:HEADER:X-Myheaderkey.*[^\\s]+(.*)
    options_myextrafield=EXTRACT:SUBJECT:([^\\s]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -OpeningHours=Opening hours -OpeningHoursDesc=Enter here the regular opening hours of your company. +OpeningHours=Orari di apertura +OpeningHoursDesc=Inserisci gli orari di apertura regolare della tua azienda. ResourceSetup=Configuration of Resource module UseSearchToSelectResource=Utilizza il form di ricerca per scegliere una risorsa (invece della lista a tendina) DisabledResourceLinkUser=Disattiva funzionalità per collegare una risorsa agli utenti @@ -1936,10 +1947,10 @@ EnableResourceUsedInEventCheck=Abilitare la funzione per verificare se una risor ConfirmUnactivation=Conferma reset del modulo OnMobileOnly=On small screen (smartphone) only DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be Prospect or Customer but can't be both) -MAIN_OPTIMIZEFORTEXTBROWSER=Simplify interface for blind person +MAIN_OPTIMIZEFORTEXTBROWSER=Semplifica l'interfaccia per i non vedenti MAIN_OPTIMIZEFORTEXTBROWSERDesc=Enable this option if you are a blind person, or if you use the application from a text browser like Lynx or Links. -MAIN_OPTIMIZEFORCOLORBLIND=Change interface's color for color blind person -MAIN_OPTIMIZEFORCOLORBLINDDesc=Enable this option if you are a color blind person, in some case interface will change color setup to increase contrast. +MAIN_OPTIMIZEFORCOLORBLIND=Cambia il colore dell'interfaccia per i non vedenti +MAIN_OPTIMIZEFORCOLORBLINDDesc=Abilita questa opzione se sei daltonico, in alcuni casi l'interfaccia cambierà la configurazione del colore per aumentare il contrasto. Protanopia=Protanopia Deuteranopes=Deuteranopes Tritanopes=Tritanopes @@ -1948,17 +1959,18 @@ DefaultCustomerType=Default thirdparty type for "New customer" creation form ABankAccountMustBeDefinedOnPaymentModeSetup=Note: The bank account must be defined on the module of each payment mode (Paypal, Stripe, ...) to have this feature working. RootCategoryForProductsToSell=Root category of products to sell RootCategoryForProductsToSellDesc=If defined, only products inside this category or childs of this category will be available in the Point Of Sale -DebugBar=Debug Bar +DebugBar=Barra di debug DebugBarDesc=Toolbar that comes with a plenty of tools to simplify debugging -DebugBarSetup=DebugBar Setup +DebugBarSetup=Impostazione barra di debug GeneralOptions=General Options LogsLinesNumber=Number of lines to show on logs tab -UseDebugBar=Use the debug bar +UseDebugBar=Usa la barra di debug DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Funzione non disponibile quando la ricezione del modulo è abilitata EmailTemplate=Modello per le e-mail EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/it_IT/banks.lang b/htdocs/langs/it_IT/banks.lang index 380091e9351..fad1a61d848 100644 --- a/htdocs/langs/it_IT/banks.lang +++ b/htdocs/langs/it_IT/banks.lang @@ -17,7 +17,7 @@ CurrentAccounts=Conti correnti SavingAccounts=Conti di risparmio ErrorBankLabelAlreadyExists=Etichetta banca già esistente BankBalance=Saldo -BankBalanceBefore=Saldo prima +BankBalanceBefore=Bilancio precedente BankBalanceAfter=Saldo dopo BalanceMinimalAllowed=Saldo minimo consentito BalanceMinimalDesired=Saldo minimo voluto @@ -42,7 +42,7 @@ AccountStatementShort=Est. conto AccountStatements=Estratti conto LastAccountStatements=Ultimi estratti conto IOMonthlyReporting=Report mensile -BankAccountDomiciliation=Bank address +BankAccountDomiciliation=Indirizzo banca BankAccountCountry=Paese del conto BankAccountOwner=Nome titolare BankAccountOwnerAddress=Indirizzo titolare @@ -139,7 +139,7 @@ AllAccounts=Tutte le banche e le casse BackToAccount=Torna al conto ShowAllAccounts=Mostra per tutti gli account FutureTransaction=Future transaction. Unable to reconcile. -SelectChequeTransactionAndGenerate=Seleziona gli assegni dar includere nella ricevuta di versamento e clicca su "Crea". +SelectChequeTransactionAndGenerate=Seleziona gli assegni da includere nella ricevuta di versamento e clicca su "Crea". InputReceiptNumber=Scegliere l'estratto conto collegato alla conciliazione. Utilizzare un valore numerico ordinabile: AAAAMM o AAAAMMGG EventualyAddCategory=Infine, specificare una categoria in cui classificare i record ToConciliate=Da conciliare? diff --git a/htdocs/langs/it_IT/bills.lang b/htdocs/langs/it_IT/bills.lang index 20e5e69e47e..6473762dbcc 100644 --- a/htdocs/langs/it_IT/bills.lang +++ b/htdocs/langs/it_IT/bills.lang @@ -66,14 +66,14 @@ paymentInInvoiceCurrency=nella valuta delle fatture PaidBack=Rimborsato DeletePayment=Elimina pagamento ConfirmDeletePayment=Vuoi davvero cancellare questo pagamento? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Vuoi convertire questa %s in uno sconto assoluto? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Vuoi convertire questo %s in uno sconto assoluto? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Pagamenti ricevuti ReceivedCustomersPayments=Pagamenti ricevuti dai clienti -PayedSuppliersPayments=Payments paid to vendors +PayedSuppliersPayments=Pagamenti effettuati ai fornitori ReceivedCustomersPaymentsToValid=Pagamenti ricevuti dai clienti da convalidare PaymentsReportsForYear=Report pagamenti per %s PaymentsReports=Report pagamenti @@ -106,7 +106,7 @@ AddBill=Crea fattura o nota di credito AddToDraftInvoices=Aggiungi alle fattture in bozza DeleteBill=Elimina fattura SearchACustomerInvoice=Cerca una fattura attiva -SearchASupplierInvoice=Search for a vendor invoice +SearchASupplierInvoice=Cerca una fattura fornitore CancelBill=Annulla una fattura SendRemindByMail=Inviare promemoria via email DoPayment=Registra pagamento @@ -146,7 +146,7 @@ BillShortStatusClosedPaidPartially=Pagata (in parte) PaymentStatusToValidShort=Da convalidare ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined ErrorNoPaiementModeConfigured=No default payment type defined. Go to Invoice module setup to fix this. -ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment types +ErrorCreateBankAccount=Crea un conto bancario, quindi passa al modulo impostazione delle fatture per definire i tipi di pagamento ErrorBillNotFound=La fattura %s non esiste ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. ErrorDiscountAlreadyUsed=Errore, sconto già utilizzato @@ -204,8 +204,8 @@ ConfirmSupplierPayment=Confermare riscossione per %s %s? ConfirmValidatePayment=Vuoi davvero convalidare questo pagamento? Una volta convalidato non si potranno più operare modifiche. ValidateBill=Convalida fattura UnvalidateBill=Invalida fattura -NumberOfBills=No. of invoices -NumberOfBillsByMonth=No. of invoices per month +NumberOfBills=Numero di fatture +NumberOfBillsByMonth=Numero di fatture per mese AmountOfBills=Importo delle fatture AmountOfBillsHT=Amount of invoices (net of tax) AmountOfBillsByMonthHT=Importo delle fatture per mese (al netto delle imposte) @@ -219,7 +219,10 @@ ShowInvoiceSituation=Mostra avanzamento lavori UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -334,7 +337,7 @@ InvoiceDateCreation=Data di creazione fattura InvoiceStatus=Stato Fattura InvoiceNote=Nota Fattura InvoicePaid=Fattura pagata -InvoicePaidCompletely=Paid completely +InvoicePaidCompletely=Pagata completamente InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. OrderBilled=Order billed DonationPaid=Donation paid @@ -354,7 +357,7 @@ ConfirmRemoveDiscount=Vuoi davvero eliminare questo sconto? RelatedBill=Fattura correlata RelatedBills=Fatture correlate RelatedCustomerInvoices=Fatture attive correlate -RelatedSupplierInvoices=Related vendor invoices +RelatedSupplierInvoices=Fatture fornitore correlate LatestRelatedBill=Ultima fattura correlata WarningBillExist=Warning, one or more invoices already exist MergingPDFTool=Strumento di fusione dei PDF @@ -378,7 +381,7 @@ NextDateToExecution=Data per la prossima generazione di fattura NextDateToExecutionShort=Data successiva gen. DateLastGeneration=Data dell'ultima generazione DateLastGenerationShort=Data ultima gen. -MaxPeriodNumber=Max. number of invoice generation +MaxPeriodNumber=Numero massimo di fatture da generare NbOfGenerationDone=Numero di fatture generate già create NbOfGenerationDoneShort=Numero di generazione eseguita MaxGenerationReached=Numero massimo di generazioni raggiunto @@ -441,7 +444,7 @@ PaymentTypeFAC=Fattore PaymentTypeShortFAC=Fattore BankDetails=Dati banca BankCode=ABI -DeskCode=Branch code +DeskCode=Codice filiale BankAccountNumber=C.C. BankAccountNumberKey=Checksum Residence=Indirizzo @@ -477,13 +480,13 @@ UseLine=Applica UseDiscount=Usa lo sconto UseCredit=Utilizza il credito UseCreditNoteInInvoicePayment=Riduci l'ammontare del pagamento con la nota di credito -MenuChequeDeposits=Check Deposits +MenuChequeDeposits=Deposito assegni MenuCheques=Assegni MenuChequesReceipts=Check receipts NewChequeDeposit=Nuovo acconto ChequesReceipts=Check receipts -ChequesArea=Check deposits area -ChequeDeposits=Check deposits +ChequesArea=Area deposito assegni +ChequeDeposits=Deposito assegni Cheques=Assegni DepositId=ID deposito NbCheque=Numero di assegni @@ -509,11 +512,11 @@ ToMakePayment=Paga ToMakePaymentBack=Rimborsa ListOfYourUnpaidInvoices=Elenco fatture non pagate NoteListOfYourUnpaidInvoices=Nota: questo elenco contiene solo fatture che hai collegato ad un rappresentante. -RevenueStamp=Marca da bollo +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=Per creare un nuovo modelo bisogna prima creare una fattura normale e poi convertirla. -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Modello di fattura PDF Crabe. Un modello completo di fattura PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Modello di fattura Crevette. Template completo per le fatture (Modello raccomandato) TerreNumRefModelDesc1=Restituisce un numero nel formato %syymm-nnnn per le fatture, %syymm-nnnn per le note di credito e %syymm-nnnn per i versamenti, dove yy è l'anno, mm è il mese e nnnn è una sequenza progressiva, senza salti e che non si azzera. @@ -528,7 +531,7 @@ TypeContact_facture_external_BILLING=Contatto fatturazioni clienti TypeContact_facture_external_SHIPPING=Contatto spedizioni clienti TypeContact_facture_external_SERVICE=Contatto servizio clienti TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice -TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact +TypeContact_invoice_supplier_external_BILLING=Contatto fattura fornitore TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact TypeContact_invoice_supplier_external_SERVICE=Vendor service contact # Situation invoices @@ -575,3 +578,4 @@ AutoFillDateTo=Imposta data di fine per la riga di servizio con la successiva da AutoFillDateToShort=Imposta data di fine MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Fattura cancellata +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/it_IT/blockedlog.lang b/htdocs/langs/it_IT/blockedlog.lang index f69567e0ebf..b0cbfa4cdde 100644 --- a/htdocs/langs/it_IT/blockedlog.lang +++ b/htdocs/langs/it_IT/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/it_IT/boxes.lang b/htdocs/langs/it_IT/boxes.lang index 33a3614472e..c55a5828087 100644 --- a/htdocs/langs/it_IT/boxes.lang +++ b/htdocs/langs/it_IT/boxes.lang @@ -4,7 +4,7 @@ BoxLastRssInfos=RSS Information BoxLastProducts=Latest %s Products/Services BoxProductsAlertStock=Avvisi per le scorte di prodotti BoxLastProductsInContract=Ultimi %s prodotti/servizi contrattualizzati -BoxLastSupplierBills=Latest Vendor invoices +BoxLastSupplierBills=Ultime fatture fornitore BoxLastCustomerBills=Latest Customer invoices BoxOldestUnpaidCustomerBills=Ultime fatture attive non pagate BoxOldestUnpaidSupplierBills=Fatture Fornitore non pagate più vecchie @@ -21,14 +21,14 @@ BoxFicheInter=Ultimi interventi BoxCurrentAccounts=Saldo conti aperti BoxTitleMemberNextBirthdays=Compleanni di questo mese (membri) BoxTitleLastRssInfos=Ultime %s notizie da %s -BoxTitleLastProducts=Products/Services: last %s modified +BoxTitleLastProducts=Prodotti/Servizi: ultimi %s modificati BoxTitleProductsAlertStock=Prodotti: allerta scorte BoxTitleLastSuppliers=Ultimi %s ordini fornitore BoxTitleLastModifiedSuppliers=Fornitori: ultimi %s modificati BoxTitleLastModifiedCustomers=Clienti: ultimi %s modificati BoxTitleLastCustomersOrProspects=Ultimi %s clienti o potenziali clienti -BoxTitleLastCustomerBills=Ultime %s Fatture Cliente -BoxTitleLastSupplierBills=Ultime %sFatture Fornitore +BoxTitleLastCustomerBills=Ultime %s fatture attive modificate +BoxTitleLastSupplierBills=Ultime %s fatture fornitore modificate BoxTitleLastModifiedProspects=Clienti potenziali: ultimi %s modificati BoxTitleLastModifiedMembers=Ultimi %s membri BoxTitleLastFicheInter=Ultimi %s interventi modificati @@ -36,8 +36,8 @@ BoxTitleOldestUnpaidCustomerBills=Fatture cliente: %s non pagate più vecchie BoxTitleOldestUnpaidSupplierBills=Fatture fornitori: %s più vecchie non pagate BoxTitleCurrentAccounts=Conti aperti: bilanci BoxTitleSupplierOrdersAwaitingReception=Ordini dei fornitori in attesa di ricezione -BoxTitleLastModifiedContacts=Contacts/Addresses: last %s modified -BoxMyLastBookmarks=Bookmarks: latest %s +BoxTitleLastModifiedContacts=Contatti/indirizzi: ultimi %s modificati +BoxMyLastBookmarks=Segnalibri: ultimi %s modificati BoxOldestExpiredServices=Servizi scaduti da più tempo ancora attivi BoxLastExpiredServices=Ultimi %s contatti con servizi scaduti ancora attivi BoxTitleLastActionsToDo=Ultime %s azioni da fare @@ -61,7 +61,7 @@ NoRecordedProposals=Nessuna proposta registrata NoRecordedInvoices=Nessuna fattura attiva registrata NoUnpaidCustomerBills=Nessuna fattura attiva non pagata NoUnpaidSupplierBills=Nessuna Fattura Fornitore non pagata -NoModifiedSupplierBills=No recorded vendor invoices +NoModifiedSupplierBills=Nessuna fattura fornitore registrata NoRecordedProducts=Nessun prodotto/servizio registrato NoRecordedProspects=Nessun potenziale cliente registrato NoContractedProducts=Nessun prodotto/servizio contrattualizzato @@ -71,16 +71,16 @@ BoxLatestSupplierOrders=Latest purchase orders BoxLatestSupplierOrdersAwaitingReception=Ultimi ordini di acquisto (con una ricezione in sospeso) NoSupplierOrder=No recorded purchase order BoxCustomersInvoicesPerMonth=Fatture cliente al mese -BoxSuppliersInvoicesPerMonth=Vendor Invoices per month +BoxSuppliersInvoicesPerMonth=Fatture fornitore per mese BoxCustomersOrdersPerMonth=Ordini Cliente per mese -BoxSuppliersOrdersPerMonth=Vendor Orders per month -BoxProposalsPerMonth=proposte al mese +BoxSuppliersOrdersPerMonth=Ordini fornitore per mese +BoxProposalsPerMonth=Preventivi per mese NoTooLowStockProducts=Nessun prodotto sotto la soglia minima di scorte BoxProductDistribution=Distribuzione prodotti/servizi ForObject=On %s -BoxTitleLastModifiedSupplierBills=Vendor Invoices: last %s modified -BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified -BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified +BoxTitleLastModifiedSupplierBills=Fatture fornitore: ultime %s modificate +BoxTitleLatestModifiedSupplierOrders=Ordini fornitore: ultimi %s modificati +BoxTitleLastModifiedCustomerBills=Fatture attive: ultime %s modificate BoxTitleLastModifiedCustomerOrders=Ordini: ultimi %s modificati BoxTitleLastModifiedPropals=Ultime %s proposte modificate ForCustomersInvoices=Fatture attive @@ -89,7 +89,7 @@ ForProposals=Proposte LastXMonthRolling=Ultimi %s mesi ChooseBoxToAdd=Aggiungi widget alla dashboard BoxAdded=Widget aggiunto al pannello principale -BoxTitleUserBirthdaysOfMonth=Birthdays of this month +BoxTitleUserBirthdaysOfMonth=Compleanni di questo mese (utenti) BoxLastManualEntries=Ultime registrazioni manuali in contabilità BoxTitleLastManualEntries=%s ultime voci del manuale NoRecordedManualEntries=Nessuna registrazione manuale registrata in contabilità @@ -98,5 +98,5 @@ BoxTitleSuspenseAccount=Numero di righe non allocate NumberOfLinesInSuspenseAccount=Numero di riga nell'account suspense SuspenseAccountNotDefined=L'account Suspense non è definito BoxLastCustomerShipments=Ultime spedizioni cliente -BoxTitleLastCustomerShipments=Latest %s customer shipments -NoRecordedShipments=No recorded customer shipment +BoxTitleLastCustomerShipments=Ultime %s spedizioni cliente +NoRecordedShipments=Nessuna spedizione cliente registrata diff --git a/htdocs/langs/it_IT/cashdesk.lang b/htdocs/langs/it_IT/cashdesk.lang index 97bf03f0231..9d92620b4be 100644 --- a/htdocs/langs/it_IT/cashdesk.lang +++ b/htdocs/langs/it_IT/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Aggiungi questo articolo RestartSelling=Rimetti in vendita SellFinished=Vendita completata PrintTicket=Stampa biglietto +SendTicket=Send ticket NoProductFound=Nessun articolo trovato ProductFound=Prodotto trovato NoArticle=Nessun articolo @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Numero di fatture Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/it_IT/categories.lang b/htdocs/langs/it_IT/categories.lang index 87d41652b62..7663624b70c 100644 --- a/htdocs/langs/it_IT/categories.lang +++ b/htdocs/langs/it_IT/categories.lang @@ -10,7 +10,7 @@ modify=modifica Classify=Classifica CategoriesArea=Area tag/categorie ProductsCategoriesArea=Area categorie/tag prodotti/servizi -SuppliersCategoriesArea=Vendors tags/categories area +SuppliersCategoriesArea=Area tag/categorie fornitori CustomersCategoriesArea=Area tag/categorie clienti MembersCategoriesArea=Area tag/categorie membri ContactsCategoriesArea=Area tag/categorie contatti @@ -32,7 +32,7 @@ WasAddedSuccessfully= %s aggiunta con successo ObjectAlreadyLinkedToCategory=L'elemento è già collegato a questa tag/categoria ProductIsInCategories=Il prodotto/servizio è collegato alle seguenti tag/categorie CompanyIsInCustomersCategories=Questo soggetto terzo è collegato alle seguenti tag/categorie di clienti/potenziali clienti -CompanyIsInSuppliersCategories=This third party is linked to following vendors tags/categories +CompanyIsInSuppliersCategories=Il soggetto terzo è collegato alle seguenti tag/categorie fornitori MemberIsInCategories=Il membro è collegato alle seguenti tag/categorie membri ContactIsInCategories=Il contatto appartiene alle seguenti tag/categorie ProductHasNoCategory=Questo prodotto/servizio non è collegato ad alcuna tag/categoria @@ -48,14 +48,14 @@ ContentsNotVisibleByAllShort=Contenuti non visibili a tutti DeleteCategory=Elimina tag/categoria ConfirmDeleteCategory=Vuoi davvero eliminare questo tag/categoria? NoCategoriesDefined=Nessuna tag/categoria definita -SuppliersCategoryShort=Vendors tag/category +SuppliersCategoryShort=Tag/categoria fornitori CustomersCategoryShort=Tag/categoria clienti ProductsCategoryShort=Tag/categoria prodotti MembersCategoryShort=Tag/categoria membri -SuppliersCategoriesShort=Vendors tags/categories +SuppliersCategoriesShort=Tag/categorie fornitori CustomersCategoriesShort=Tag/categorie clienti ProspectsCategoriesShort=Tag/categorie clienti potenziali -CustomersProspectsCategoriesShort=Cust./Prosp. tags/categories +CustomersProspectsCategoriesShort=Tag/categorie clienti/clienti potenziali ProductsCategoriesShort=Tag/categorie prodotti MembersCategoriesShort=Tag/categorie membri ContactCategoriesShort=Tag/categorie contatti @@ -63,13 +63,7 @@ AccountsCategoriesShort=Conti di tag/categorie ProjectsCategoriesShort=Tag/categoria progetti UsersCategoriesShort=Users tags/categories StockCategoriesShort=Tag / categorie di magazzino -ThisCategoryHasNoProduct=Questa categoria non contiene alcun prodotto -ThisCategoryHasNoSupplier=This category does not contain any vendor. -ThisCategoryHasNoCustomer=Questa categoria non contiene alcun cliente -ThisCategoryHasNoMember=Questa categoria non contiene alcun membro -ThisCategoryHasNoContact=Questa categoria non contiene contatti -ThisCategoryHasNoAccount=Non ci sono conti collegati a questa categoria -ThisCategoryHasNoProject=Questa categoria non contiene alcun progetto. +ThisCategoryHasNoItems=This category does not contain any items. CategId=ID Tag/categoria CatSupList=List of vendor tags/categories CatCusList=Lista delle tag/categorie clienti @@ -78,7 +72,7 @@ CatMemberList=Lista delle tag/categorie membri CatContactList=Lista delle tag/categorie contatti CatSupLinks=Collegamenti tra fornitori e tag/categorie CatCusLinks=Collegamenti tra clienti e tag/categorie -CatContactsLinks=Links between contacts/addresses and tags/categories +CatContactsLinks=Collegamento fra: contatti/indirizzi e tags/categorie CatProdLinks=Collegamenti tra prodotti/servizi e tag/categorie CatProJectLinks=Collegamenti tra progetti e tag/categorie DeleteFromCat=Elimina dalla tag/categoria @@ -91,5 +85,5 @@ ShowCategory=Mostra tag/categoria ByDefaultInList=Default nella lista ChooseCategory=Choose category StocksCategoriesArea=Area categorie magazzini -ActionCommCategoriesArea=Events Categories Area +ActionCommCategoriesArea=Area eventi categorie UseOrOperatorForCategories=Uso o operatore per le categorie diff --git a/htdocs/langs/it_IT/companies.lang b/htdocs/langs/it_IT/companies.lang index d3dbbc93a18..8f2cb848865 100644 --- a/htdocs/langs/it_IT/companies.lang +++ b/htdocs/langs/it_IT/companies.lang @@ -277,7 +277,7 @@ CustomerRelativeDiscountShort=Sconto relativo CustomerAbsoluteDiscountShort=Sconto assoluto CompanyHasRelativeDiscount=Il cliente ha uno sconto del %s%% CompanyHasNoRelativeDiscount=Il cliente non ha alcuno sconto relativo impostato -HasRelativeDiscountFromSupplier=You have a default discount of %s%% from this vendor +HasRelativeDiscountFromSupplier=Hai uno sconto predefinito di %s%% da questo fornitore HasNoRelativeDiscountFromSupplier=You have no default relative discount from this vendor CompanyHasAbsoluteDiscount=Questo cliente ha degli sconti disponibili (note di credito o anticipi) per un totale di %s%s CompanyHasDownPaymentOrCommercialDiscount=Questo cliente ha uno sconto disponibile (commerciale, anticipi) per %s%s @@ -325,7 +325,6 @@ CompanyDeleted=Società %s cancellata dal database. ListOfContacts=Elenco dei contatti ListOfContactsAddresses=Elenco dei contatti ListOfThirdParties=Elenco dei soggetti terzi -ShowCompany=Mostra soggetto terzo ShowContact=Mostra contatti ContactsAllShort=Tutti (Nessun filtro) ContactType=Tipo di contatto @@ -352,7 +351,7 @@ VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commission website VATIntraManualCheck=È anche possibile controllare manualmente sul sito della Commissione Europea %s ErrorVATCheckMS_UNAVAILABLE=Non è possibile effettuare il controllo. Servizio non previsto per lo stato membro ( %s). -NorProspectNorCustomer=Not prospect, nor customer +NorProspectNorCustomer=Né cliente, né cliente potenziale JuridicalStatus=Forma giuridica Staff=Dipendenti ProspectLevelShort=Cl. Pot. @@ -400,8 +399,8 @@ ImportDataset_company_1=Third-parties and their properties ImportDataset_company_2=Third-parties additional contacts/addresses and attributes ImportDataset_company_3=Third-parties Bank accounts ImportDataset_company_4=Third-parties Sales representatives (assign sales representatives/users to companies) -PriceLevel=Price Level -PriceLevelLabels=Price Level Labels +PriceLevel=Livello dei prezzi +PriceLevelLabels=Etichette livello dei prezzi DeliveryAddress=Indirizzo di consegna AddAddress=Aggiungi un indirizzo SupplierCategory=Categoria fornitore @@ -447,11 +446,12 @@ SaleRepresentativeFirstname=Nome del commerciale SaleRepresentativeLastname=Cognome del commerciale ErrorThirdpartiesMerge=Si è verificato un errore durante l'eliminazione di terze parti. Si prega di controllare il registro. Le modifiche sono state ripristinate. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Termini di Pagamento - Cliente PaymentTypeSupplier=Payment Type - Vendor -PaymentTermsSupplier=Payment Term - Vendor +PaymentTermsSupplier=Termine di pagamento - Fornitore PaymentTypeBoth=Tipo di pagamento - Cliente e fornitore MulticurrencyUsed=Use Multicurrency MulticurrencyCurrency=Valuta diff --git a/htdocs/langs/it_IT/compta.lang b/htdocs/langs/it_IT/compta.lang index cf5d2312892..c08cfa61481 100644 --- a/htdocs/langs/it_IT/compta.lang +++ b/htdocs/langs/it_IT/compta.lang @@ -19,13 +19,13 @@ Income=Entrate Outcome=Uscite MenuReportInOut=Entrate/Uscite ReportInOut=Bilancio di entrate e uscite -ReportTurnover=Turnover invoiced -ReportTurnoverCollected=Turnover collected +ReportTurnover=Fatturato +ReportTurnoverCollected=Fatturato PaymentsNotLinkedToInvoice=I pagamenti non legati ad una fattura, quindi non legati ad alcun soggetto terzo PaymentsNotLinkedToUser=Pagamenti non legati ad alcun utente Profit=Utile AccountingResult=Risultato contabile -BalanceBefore=Balance (before) +BalanceBefore=Bilancio (precedente) Balance=Saldo Debit=Debito Credit=Credito @@ -81,12 +81,12 @@ ContributionsToPay=Tasse/contributi da pagare AccountancyTreasuryArea=Billing and payment area NewPayment=Nuovo pagamento PaymentCustomerInvoice=Pagamento fattura attiva -PaymentSupplierInvoice=vendor invoice payment +PaymentSupplierInvoice=pagamento fattura fornitore PaymentSocialContribution=Pagamento delle imposte sociali/fiscali PaymentVat=Pagamento IVA ListPayment=Elenco dei pagamenti ListOfCustomerPayments=Elenco dei pagamenti dei clienti -ListOfSupplierPayments=List of vendor payments +ListOfSupplierPayments=Elenco dei pagamenti fornitore DateStartPeriod=Data di inzio DateEndPeriod=Data di fine newLT1Payment=New tax 2 payment @@ -118,8 +118,8 @@ SupplierAccountancyCodeShort=Cod. cont. fornitore AccountNumber=Numero di conto NewAccountingAccount=Nuovo conto Turnover=Turnover invoiced -TurnoverCollected=Turnover collected -SalesTurnoverMinimum=Minimum turnover +TurnoverCollected=Fatturato +SalesTurnoverMinimum=Fatturato minimo di vendita ByExpenseIncome=By expenses & incomes ByThirdParties=Per soggetti terzi ByUserAuthorOfInvoice=Per autore fattura @@ -139,8 +139,8 @@ ConfirmDeleteSocialContribution=Sei sicuro di voler cancellare il pagamento di q ExportDataset_tax_1=Tasse/contributi e pagamenti CalcModeVATDebt=Modalità %sIVA su contabilità d'impegno%s. CalcModeVATEngagement=Calcola %sIVA su entrate-uscite%s -CalcModeDebt=Analysis of known recorded invoices even if they are not yet accounted in ledger. -CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger. +CalcModeDebt=Analisi delle fatture registrate anche se non sono ancora contabilizzate nel libro mastro. +CalcModeEngagement=Analisi dei pagamenti registrati, anche se non ancora contabilizzati nel libro mastro. CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table. CalcModeLT1= Modalità %sRE su fatture clienti - fatture fornitori%s CalcModeLT1Debt=Modalità %sRE su fatture clienti%s @@ -153,21 +153,21 @@ AnnualSummaryInputOutputMode=Bilancio di entrate e uscite, sintesi annuale AnnualByCompanies=Balance of income and expenses, by predefined groups of account AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode %sClaims-Debts%s said Commitment accounting. AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. -SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on actual payments made even if they are not yet accounted in Ledger. -SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. +SeeReportInInputOutputMode=Vedi %sanalisi dei pagamenti%s per un calcolo sui pagamenti effettivi effettuati anche se non ancora contabilizzati nel libro mastro. +SeeReportInDueDebtMode=Vedi %sanalisi delle fatture %s per un calcolo basato sulle fatture registrate anche se non ancora contabilizzate nel libro mastro. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Gli importi indicati sono tasse incluse -RulesResultDue=- Gli importi indicati sono tutti tasse incluse
    - Comprendono le fatture in sospeso, l'IVA e le spese, che siano state pagate o meno.
    - Si basa sulla data di convalida delle fatture e dell'IVA e sulla data di scadenza per le spese. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Include i pagamenti reali di fatture, spese e IVA.
    - Si basa sulle date di pagamento di fatture, spese e IVA. -RulesCADue=- It includes the customer'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 customers.
    - It is based on the payment date of these invoices
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    +RulesCAIn=- Comprende le fatture effettivamente pagate dai clienti.
    - Si basa sulla data dei pagamenti.
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" RulesResultBookkeepingPredefined=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting accounts grouped by personalized groups SeePageForSetup=See menu %s for setup DepositsAreNotIncluded=- Down payment invoices are not included -DepositsAreIncluded=- Down payment invoices are included +DepositsAreIncluded=- Sono incluse le fatture d'acconto LT1ReportByCustomers=Report tax 2 by third party LT2ReportByCustomers=Report tax 3 by third party LT1ReportByCustomersES=Report by third party RE @@ -211,7 +211,7 @@ Pcg_version=Chart of accounts models Pcg_type=Tipo pcg Pcg_subtype=Sottotipo Pcg InvoiceLinesToDispatch=Riga di fattura da spedire *consegnare -ByProductsAndServices=By product and service +ByProductsAndServices=Per prodotti e servizi RefExt=Referente esterno ToCreateAPredefinedInvoice=Per creare un modello di fattura, crea una fattura standard e poi, senza convalidarla, clicca sul pulsante "%s". LinkedOrder=Collega a ordine @@ -219,7 +219,7 @@ Mode1=Metodo 1 Mode2=Metodo 2 CalculationRuleDesc=Ci sono due metodi per calcolare l'IVA totale:
    Metodo 1: arrotondare l'IVA per ogni riga e poi sommare.
    Metodo 2: sommare l'IVA di ogni riga e poi arrotondare il risultato della somma.
    Il risultato finale può differire di alcuni centesimi tra i due metodi. Il metodo di default è il %s. CalculationRuleDescSupplier=According to vendor, choose appropriate method to apply same calculation rule and get same result expected by your vendor. -TurnoverPerProductInCommitmentAccountingNotRelevant=The report of Turnover collected per product is not available. This report is only available for turnover invoiced. +TurnoverPerProductInCommitmentAccountingNotRelevant=Il report sul fatturato per prodotto non è disponibile. Questo rapporto è disponibile solo per il fatturato. TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. CalculationMode=Metodo di calcolo AccountancyJournal=Accounting code journal @@ -250,8 +250,15 @@ LastDayTaxIsRelatedTo=Last day of period the tax is related to VATDue=Sale tax claimed ClaimedForThisPeriod=Claimed for the period PaidDuringThisPeriod=Paid during this period -ByVatRate=By sale tax rate -TurnoverbyVatrate=Turnover invoiced by sale tax rate -TurnoverCollectedbyVatrate=Turnover collected by sale tax rate -PurchasebyVatrate=Purchase by sale tax rate +ByVatRate=Per aliquota iva di vendita +TurnoverbyVatrate=Fatturato per aliquota iva di vendita +TurnoverCollectedbyVatrate=Fatturato per aliquota iva di vendita +PurchasebyVatrate=Acquisti per aliquota iva LabelToShow=Etichetta breve +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/it_IT/ecm.lang b/htdocs/langs/it_IT/ecm.lang index 84390cc378f..78b9b6f0f1b 100644 --- a/htdocs/langs/it_IT/ecm.lang +++ b/htdocs/langs/it_IT/ecm.lang @@ -34,8 +34,8 @@ ECMDocsByProjects=Documenti collegati ai progetti ECMDocsByUsers=Documenti collegati agli utenti ECMDocsByInterventions=Documenti collegati agli interventi ECMDocsByExpenseReports=Documenti collegati a note spese -ECMDocsByHolidays=Documents linked to holidays -ECMDocsBySupplierProposals=Documents linked to supplier proposals +ECMDocsByHolidays=Documenti collegati alle ferie +ECMDocsBySupplierProposals=Documenti collegati alle proposte fornitore ECMNoDirectoryYet=Nessuna directory creata ShowECMSection=Visualizza la directory DeleteSection=Eliminare la directory diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index 778ea8e2d0d..fc4477d1495 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File non completamente ricevuto dal server. ErrorNoTmpDir=La directory temporanea %s non esiste. ErrorUploadBlockedByAddon=Upload bloccato da un plugin di Apache/PHP ErrorFileSizeTooLarge=La dimensione del file è troppo grande. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Numero troppo lungo (massimo %s cifre) ErrorSizeTooLongForVarcharType=Stringa troppo lunga (limite di %s caratteri) ErrorNoValueForSelectType=Per favore immetti un valore per la lista di selezione @@ -165,7 +166,7 @@ ErrorPriceExpression24=La variabile '%s' esiste, ma non è valorizzata ErrorPriceExpressionInternal=Errore interno '%s' ErrorPriceExpressionUnknown=Errore sconosciuto '%s' ErrorSrcAndTargetWarehouseMustDiffers=I magazzini di origine e di destinazione devono essere diversi -ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information +ErrorTryToMakeMoveOnProductRequiringBatchData=Errore, tentativo di eseguire un movimento di magazzino senza informazioni lotto / seriale, sul prodotto '%s' che richiede informazioni lotto / seriale ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified (approved or denied) before being allowed to do this action ErrorCantSetReceptionToTotalDoneWithReceptionDenied=All recorded receptions must first be verified (approved) before being allowed to do this action ErrorGlobalVariableUpdater0=Richiesta HTTP fallita con errore '%s' @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. @@ -259,5 +261,5 @@ WarningYourLoginWasModifiedPleaseLogin=La tua login è stata modificata. Per rag WarningAnEntryAlreadyExistForTransKey=Esiste già una voce tradotta per la chiave di traduzione per questa lingua WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report -WarningProjectClosed=Project is closed. You must re-open it first. +WarningProjectClosed=Il progetto è chiuso. È necessario prima aprirlo nuovamente. WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. diff --git a/htdocs/langs/it_IT/holiday.lang b/htdocs/langs/it_IT/holiday.lang index 89821e19cc4..4dde053c1ee 100644 --- a/htdocs/langs/it_IT/holiday.lang +++ b/htdocs/langs/it_IT/holiday.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - holiday HRM=Risorse umane -Holidays=Leave -CPTitreMenu=Leave +Holidays=Ferie / Permessi +CPTitreMenu=Ferie / Permessi MenuReportMonth=Estratto conto mensile MenuAddCP=Nuova richiesta NotActiveModCP=You must enable the module Leave to view this page. @@ -25,8 +25,8 @@ UserForApprovalLogin=Login of approval user DescCP=Descrizione SendRequestCP=Inserisci richiesta di assenza DelayToRequestCP=Le richieste devono essere inserite almeno %s giorni prima dell'inizio. -MenuConfCP=Balance of leave -SoldeCPUser=Leave balance is %s days. +MenuConfCP=Bilancio delle ferie / permessi +SoldeCPUser=Rimangono %s giorni di ferie ErrorEndDateCP=La data di fine deve essere posteriore alla data di inizio. ErrorSQLCreateCP=Si è verificato un errore SQL durante la creazione: ErrorIDFicheCP=Si è verificato un errore: la richiesta non esiste. @@ -115,15 +115,15 @@ HolidaysToValidate=Convalida ferie HolidaysToValidateBody=Di sotto una richiesta ferie da convalidare HolidaysToValidateDelay=Questa richiesta avrà luogo fra meno di %s giorni HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. -HolidaysValidated=Richieste di assenza approvate +HolidaysValidated=Richieste di ferie/permesso approvate HolidaysValidatedBody=La tua richiesta di ferie dal %s al %s è stata approvata HolidaysRefused=Richiesta negata HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason: -HolidaysCanceled=Richiesta di assenza cancellata +HolidaysCanceled=Richiesta di ferie/permesso eliminata HolidaysCanceledBody=La tua richiesta di ferie dal %s al %s è stata cancellata FollowedByACounter=1: questo tipo di ferie segue un contatore. Il contatore incrementa automaticamente o manualmente e quando una richiesta di ferie è validata. il contatore decrementa.
    0: non segue nessun contatore NoLeaveWithCounterDefined=Non ci sono tipi di ferie definite che devono seguire un contatore -GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. +GoIntoDictionaryHolidayTypes=Vai in Home - Impostazioni - Dizionari - Tipi di ferie/permessi per impostare i diversi tipi di ferie e permessi. HolidaySetup=Setup of module Holiday HolidaysNumberingModules=Leave requests numbering models TemplatePDFHolidays=Template for leave requests PDF diff --git a/htdocs/langs/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index ca43361cf52..659ce3b4a2d 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -16,7 +16,8 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=Questo PHP supporta le estensioni dei calendari. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. -PHPSupport=This PHP supports %s functions. +PHPSupportxDebug=This PHP supports extended debug functions. +PHPSupport=La versione di PHP supporta la funzione %s. PHPMemoryOK=La memoria massima per la sessione è fissata dal PHP a %s. Dovrebbe essere sufficiente. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. Recheck=Click here for a more detailed test @@ -26,7 +27,8 @@ ErrorPHPDoesNotSupportCurl=L'attuale installazione di PHP non supporta cURL. ErrorPHPDoesNotSupportCalendar=La tua installazione di PHP non supporta le estensioni del calendario php. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. -ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. +ErrorPHPDoesNotSupport=La tua installazione di PHP non supporta le funzioni %s. ErrorDirDoesNotExists=La directory %s non esiste. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. ErrorWrongValueForParameter=Potresti aver digitato un valore errato per il parametro %s. @@ -210,10 +212,12 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Ricarica modulo %s MigrationResetBlockedLog=Reset del modulo BlockedLog per l'algoritmo v7 -ShowNotAvailableOptions=Show unavailable options -HideNotAvailableOptions=Hide unavailable options +ShowNotAvailableOptions=Mostra opzioni non disponibili +HideNotAvailableOptions=Nascondi opzioni non disponibili ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
    YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/it_IT/link.lang b/htdocs/langs/it_IT/link.lang index 3c3a345c16a..5448ce32703 100644 --- a/htdocs/langs/it_IT/link.lang +++ b/htdocs/langs/it_IT/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Il collegamento %s è stato rimosso ErrorFailedToDeleteLink= Impossibile rimuovere il collegamento '%s' ErrorFailedToUpdateLink= Impossibile caricare il collegamento '%s' URLToLink=Indirizzo del link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/it_IT/mails.lang b/htdocs/langs/it_IT/mails.lang index 306ba1f5a22..cb3d441981a 100644 --- a/htdocs/langs/it_IT/mails.lang +++ b/htdocs/langs/it_IT/mails.lang @@ -50,7 +50,7 @@ ConfirmValidMailing=Intendi veramente validare questo invio? ConfirmResetMailing=Warning, by re-initializing emailing %s, you will allow the re-sending this email in a bulk mailing. Are you sure you want to do this? ConfirmDeleteMailing=Are you sure you want to delete this emailing? NbOfUniqueEMails=No. of unique emails -NbOfEMails=No. of EMails +NbOfEMails=Numero di email TotalNbOfDistinctRecipients=Numero di singoli destinatari NoTargetYet=Nessun destinatario ancora definito (Vai alla scheda 'destinatari') NoRecipientEmail=No recipient email for %s @@ -75,7 +75,7 @@ XTargetsAdded=%s destinatari aggiunti alla lista di invio OnlyPDFattachmentSupported=If the PDF documents were already generated for the objects to send, they will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachments in mass sending in this version). AllRecipientSelected=The recipients of the %s record selected (if their email is known). GroupEmails=Group emails -OneEmailPerRecipient=One email per recipient (by default, one email per record selected) +OneEmailPerRecipient=Una e-mail per destinatario (per impostazione predefinita, una e-mail per record selezionato) WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them. ResultOfMailSending=Result of mass Email sending NbSelected=Number selected @@ -162,9 +162,9 @@ AdvTgtCreateFilter=Crea filtro AdvTgtOrCreateNewFilter=Titolo del nuovo filtro NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found -OutGoingEmailSetup=Outgoing email setup +OutGoingEmailSetup=Configurazione email in uscita InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) -DefaultOutgoingEmailSetup=Default outgoing email setup +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) +DefaultOutgoingEmailSetup=Impostazione predefinita email in uscita Information=Informazioni ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index 8b222aac6de..b7d535794fe 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -171,9 +171,10 @@ NotValidated=Non valido Save=Salva SaveAs=Salva con nome SaveAndStay=Salva e rimani -SaveAndNew=Save and new +SaveAndNew=Salva e nuovo TestConnection=Test connessione ToClone=Clonare +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Dati da clonare non definiti Of=di @@ -338,12 +339,12 @@ Copy=Copia Paste=Incolla Default=Predefinito DefaultValue=Valore predefinito -DefaultValues=Default values/filters/sorting +DefaultValues=Valori / filtri / ordinamenti predefiniti Price=Prezzo PriceCurrency=Prezzo (valuta) UnitPrice=Prezzo unitario -UnitPriceHT=Unit price (excl.) -UnitPriceHTCurrency=Unit price (excl.) (currency) +UnitPriceHT=Prezzo unitario (netto) +UnitPriceHTCurrency=Prezzo unitario (netto) (valuta) UnitPriceTTC=Prezzo unitario (lordo) PriceU=P.U. PriceUHT=P.U.(netto) @@ -353,11 +354,11 @@ Amount=Importo AmountInvoice=Importo della fattura AmountInvoiced=Importo fatturato AmountInvoicedHT=Amount invoiced (incl. tax) -AmountInvoicedTTC=Amount invoiced (excl. tax) +AmountInvoicedTTC=Importo fatturato (al netto delle imposte) AmountPayment=Importo del pagamento -AmountHTShort=Amount (excl.) +AmountHTShort=Importo (netto) AmountTTCShort=Importo (IVA inc.) -AmountHT=Amount (excl. tax) +AmountHT=Importo (al netto delle imposte) AmountTTC=Importo (IVA inclusa) AmountVAT=Importo IVA MulticurrencyAlreadyPaid=Already paid, original currency @@ -372,8 +373,8 @@ AmountLT1ES=Importo RE (Spagna) AmountLT2ES=Importo IRPF (Spagna) AmountTotal=Importo totale AmountAverage=Importo medio -PriceQtyMinHT=Price quantity min. (excl. tax) -PriceQtyMinHTCurrency=Price quantity min. (excl. tax) (currency) +PriceQtyMinHT=Prezzo quantità min. tasse escluse +PriceQtyMinHTCurrency=Prezzo per quantità min. (tasse escluse) (valuta) Percentage=Percentuale Total=Totale SubTotal=Totale parziale @@ -394,7 +395,7 @@ TotalLT1ES=Totale RE TotalLT2ES=Totale IRPF TotalLT1IN=Totale CGST TotalLT2IN=Totale SGST -HT=Excl. tax +HT=Al netto delle imposte TTC=IVA inclusa INCVATONLY=IVA inclusa INCT=Inc. tutte le tasse @@ -432,7 +433,7 @@ Favorite=Preferito ShortInfo=Info. Ref=Rif. ExternalRef=Rif. esterno -RefSupplier=Rif. venditore +RefSupplier=Rif. fornitore RefPayment=Rif. pagamento CommercialProposalsShort=Preventivi/Proposte commerciali Comment=Commento @@ -632,9 +633,9 @@ BuildDoc=Genera Doc Entity=Entità Entities=Entità CustomerPreview=Anteprima cliente -SupplierPreview=Anteprima venditore +SupplierPreview=Anteprima fornitore ShowCustomerPreview=Visualizza anteprima cliente -ShowSupplierPreview=Mostra anteprima venditore +ShowSupplierPreview=Visualizza anteprima fornitore RefCustomer=Rif. cliente Currency=Valuta InfoAdmin=Informazioni per gli amministratori @@ -721,7 +722,7 @@ Notes=Note AddNewLine=Aggiungi una nuova riga AddFile=Aggiungi file FreeZone=Non è un prodotto/servizio predefinito -FreeLineOfType=Free-text item, type: +FreeLineOfType=Testo libero, tipologia: CloneMainAttributes=Clona oggetto con i suoi principali attributi ReGeneratePDF=Rigenera PDF PDFMerge=Unisci PDF @@ -745,8 +746,8 @@ Result=Risultato ToTest=Provare ValidateBefore=Convalidare la scheda prima di utilizzare questa funzione Visibility=Visibilità -Totalizable=Totalizable -TotalizableDesc=This field is totalizable in list +Totalizable=Totalizzabile +TotalizableDesc=Questo campo è totalizzabile nell'elenco Private=Privato Hidden=Nascosto Resources=Risorse @@ -765,13 +766,13 @@ LinkTo=Collega a... LinkToProposal=Collega a proposta LinkToOrder=Collega a ordine LinkToInvoice=Collega a fattura attiva -LinkToTemplateInvoice=Link to template invoice -LinkToSupplierOrder=Link to purchase order -LinkToSupplierProposal=Link to vendor proposal -LinkToSupplierInvoice=Link to vendor invoice +LinkToTemplateInvoice=Collega ad un modello di fattura +LinkToSupplierOrder=Collega ad un ordine d'acquisto +LinkToSupplierProposal=Collega alla proposta fornitore +LinkToSupplierInvoice=Collega alla fattura fornitore LinkToContract=Collega a contratto LinkToIntervention=Collega a intervento -LinkToTicket=Link to ticket +LinkToTicket=Collega al ticket CreateDraft=Crea bozza SetToDraft=Ritorna a bozza ClickToEdit=Clicca per modificare @@ -829,6 +830,8 @@ Gender=Genere Genderman=Uomo Genderwoman=Donna ViewList=Vista elenco +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obbligatorio Hello=Ciao GoodBye=Addio @@ -874,7 +877,7 @@ Download=Download DownloadDocument=Scarica documento ActualizeCurrency=Aggiorna tasso di cambio Fiscalyear=Anno fiscale -ModuleBuilder=Module and Application Builder +ModuleBuilder=Generatore di moduli/applicazioni SetMultiCurrencyCode=Imposta valuta BulkActions=Azioni in blocco ClickToShowHelp=Clicca per mostrare l'aiuto contestuale @@ -887,20 +890,20 @@ HR=HR HRAndBank=HR e Banca AutomaticallyCalculated=Calcolato automaticamente TitleSetToDraft=Torna a Bozza -ConfirmSetToDraft=Are you sure you want to go back to Draft status? +ConfirmSetToDraft=Sei sicuro di voler tornare allo stato di Bozza? ImportId=ID di importazione Events=Eventi EMailTemplates=Modelli e-mail FileNotShared=File non condiviso con pubblico esterno Project=Progetto Projects=Progetti -LeadOrProject=Lead | Project +LeadOrProject=Opportunità | Progetto LeadsOrProjects=Leads | Projects Lead=Lead Leads=Leads ListOpenLeads=List open leads ListOpenProjects=Lista progetti aperti -NewLeadOrProject=New lead or project +NewLeadOrProject=Nuova opportunità o progetto Rights=Autorizzazioni LineNb=Linea n° IncotermLabel=Import-Export @@ -956,12 +959,12 @@ SearchIntoSupplierInvoices=Fatture Fornitore SearchIntoCustomerOrders=Ordini Cliente SearchIntoSupplierOrders=Ordini d'acquisto SearchIntoCustomerProposals=Proposte del cliente -SearchIntoSupplierProposals=Proposta venditore +SearchIntoSupplierProposals=Proposte fornitore SearchIntoInterventions=Interventi SearchIntoContracts=Contratti SearchIntoCustomerShipments=Spedizioni cliente SearchIntoExpenseReports=Nota spese -SearchIntoLeaves=Leave +SearchIntoLeaves=Ferie / Permessi SearchIntoTickets=Ticket CommentLink=Commenti NbComments=Numero dei commenti @@ -997,7 +1000,7 @@ NoRecordedUsers=No users ToClose=Da chiudere ToProcess=Da lavorare ToApprove=To approve -GlobalOpenedElemView=Global view +GlobalOpenedElemView=Vista globale NoArticlesFoundForTheKeyword=No article found for the keyword '%s' NoArticlesFoundForTheCategory=No article found for the category ToAcceptRefuse=Da accettare | Rifiutare @@ -1020,5 +1023,8 @@ CustomReports=Custom reports StatisticsOn=Statistics on SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures -XAxis=X-Axis -YAxis=Y-Axis +XAxis=Asse X +YAxis=Asse Y +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/it_IT/modulebuilder.lang b/htdocs/langs/it_IT/modulebuilder.lang index 85c0c0f1e55..cf8f9ec36dc 100644 --- a/htdocs/langs/it_IT/modulebuilder.lang +++ b/htdocs/langs/it_IT/modulebuilder.lang @@ -6,7 +6,7 @@ ModuleBuilderDesc2=Path where modules are generated/edited (first directory for ModuleBuilderDesc3=Generated/editable modules found: %s ModuleBuilderDesc4=A module is detected as 'editable' when the file %s exists in root of module directory NewModule=Nuovo modulo -NewObjectInModulebuilder=New object +NewObjectInModulebuilder=Nuovo oggetto ModuleKey=Module key ObjectKey=Object key ModuleInitialized=Modulo inizializzato @@ -60,17 +60,17 @@ HooksFile=File for hooks code ArrayOfKeyValues=Array of key-val ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values WidgetFile=Widget file -CSSFile=CSS file -JSFile=Javascript file +CSSFile=File CSS +JSFile=File Javascript ReadmeFile=Readme file ChangeLog=ChangeLog file TestClassFile=File for PHP Unit Test class SqlFile=Sql file PageForLib=File for PHP library PageForObjLib=File for PHP library dedicated to object -SqlFileExtraFields=Sql file for complementary attributes +SqlFileExtraFields=File SQL per attributi complementari SqlFileKey=Sql file for keys -SqlFileKeyExtraFields=Sql file for keys of complementary attributes +SqlFileKeyExtraFields=File SQL per chiavi di attributi complementari AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) IsAMeasure=Is a measure @@ -79,15 +79,15 @@ NoTrigger=No trigger NoWidget=No widget GoToApiExplorer=Go to API explorer ListOfMenusEntries=List of menu entries -ListOfDictionariesEntries=List of dictionaries entries +ListOfDictionariesEntries=Elenco voci dizionari ListOfPermissionsDefined=List of defined permissions -SeeExamples=See examples here +SeeExamples=Vedi esempi qui EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). Using a negative value means field is not shown by default on list but can be selected for viewing). It can be an expression, for example: preg_match('/public/', $_SERVER['PHP_SELF'])?0:1 -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratostene -DisplayOnPdf=Display on PDF +VisibleDesc=Il campo è visibile? (Esempi: 0=Mai visibile, 1=Visibile sugli elenchi e nei form di creazione/modifica/visualizzazione, 2=Visibile solo negli elenchi, 3=Visibile solo nei form di creazione/modifica/visualizzazione (no elenchi), 4=Visibile negli elenchi e solo nei form di modifica/visualizzazione (no creazione). Utilizza un valore negativo se desideri che il campo non sia visibile di default negli elenchi, ma possa essere selezionato per la visualizzazione. Puoi utilizzare anche un'espressione regolare come ad esempio:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) +DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratostene

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

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdf=Mostra sul PDF IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) -SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) +SearchAllDesc=Il campo è utilizzato per effettuare una ricerca dallo strumento di ricerca rapida? (Esempi: 1 o 0) SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. LanguageDefDesc=Enter in this files, all the key and the translation for each language file. MenusDefDesc=Define here the menus provided by your module @@ -129,13 +129,13 @@ UseSpecificVersion = Use a specific initial version ModuleMustBeEnabled=The module/application must be enabled first IncludeRefGeneration=The reference of object must be generated automatically IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference -IncludeDocGeneration=I want to generate some documents from the object +IncludeDocGeneration=Desidero generare alcuni documenti da questo oggetto IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. -ShowOnCombobox=Show value into combobox +ShowOnCombobox=Mostra il valore dentro il combobox KeyForTooltip=Key for tooltip -CSSClass=CSS Class -NotEditable=Not editable -ForeignKey=Foreign key +CSSClass=Classe CSS +NotEditable=Non modificabile +ForeignKey=Chiave esterna TypeOfFieldsHelp=Type of fields:
    varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter diff --git a/htdocs/langs/it_IT/mrp.lang b/htdocs/langs/it_IT/mrp.lang index 7706c41f4b8..c0185190272 100644 --- a/htdocs/langs/it_IT/mrp.lang +++ b/htdocs/langs/it_IT/mrp.lang @@ -1,6 +1,6 @@ Mrp=Ordini di produzione MO=Ordine di produzione -MRPDescription=Module to manage production and Manufacturing Orders (MO). +MRPDescription=Modulo per la gestione degli ordini di produzione (MO). MRPArea=MRP Area MrpSetupPage=Configurazione del modulo MRP MenuBOM=Bills of material @@ -15,20 +15,20 @@ NewBOM=New bill of material ProductBOMHelp=Product to create with this BOM BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOMS document templates -MOsNumberingModules=MO numbering templates -MOsModelModule=MO document templates +MOsNumberingModules=Modelli di numerazione degli ordini di produzione (MO) +MOsModelModule=Modello PDF ordini di produzione (MO) FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM -FreeLegalTextOnMOs=Free text on document of MO -WatermarkOnDraftMOs=Watermark on draft MO +FreeLegalTextOnMOs=Testo libero sui documenti MO +WatermarkOnDraftMOs=Filigrana sulla bozza degli ordini di produzione MO (se presente) ConfirmCloneBillOfMaterials=Are you sure you want to clone this bill of material ? -ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? +ConfirmCloneMo=Vuoi davvero clonare l'ordine di produzione %s? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials -DeleteMo=Delete Manufacturing Order +DeleteMo=Elimina Ordine di Produzione ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? MenuMRP=Ordini di produzione @@ -40,22 +40,22 @@ KeepEmptyForAsap=Vuoto significa "Il più presto possibile" EstimatedDuration=Durata stimata EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) -ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? +ConfirmCloseBom=Vuoi davvero eliminare questa Distinta Base (non sarà più possibile utilizzarla per creare nuovi ordini di produzione) ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) StatusMOProduced=Prodotto -QtyFrozen=Frozen Qty -QuantityFrozen=Frozen Quantity +QtyFrozen=Quantità congelata +QuantityFrozen=Quantità congelata QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. DisableStockChange=Stock change disabled DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed BomAndBomLines=Bills Of Material and lines BOMLine=Line of BOM -WarehouseForProduction=Warehouse for production -CreateMO=Create MO +WarehouseForProduction=Magazzino per la produzione +CreateMO=Crea Ordine di Produzione ToConsume=To consume -ToProduce=To produce -QtyAlreadyConsumed=Qty already consumed -QtyAlreadyProduced=Qty already produced +ToProduce=Da produrre +QtyAlreadyConsumed=Q.tà già consumate +QtyAlreadyProduced=Q.tà già prodotte ConsumeOrProduce=Consume or Produce ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured @@ -63,7 +63,7 @@ TheProductXIsAlreadyTheProductToProduce=The product to add is already the produc ForAQuantityOf1=For a quantity to produce of 1 ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. -ProductionForRef=Production of %s +ProductionForRef=Produzione di %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO @@ -71,3 +71,5 @@ ProductQtyToProduceByMO=Product quentity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce +UnitCost=Unit cost +TotalCost=Total cost diff --git a/htdocs/langs/it_IT/multicurrency.lang b/htdocs/langs/it_IT/multicurrency.lang index 4f05cd491b6..68c8f699e00 100644 --- a/htdocs/langs/it_IT/multicurrency.lang +++ b/htdocs/langs/it_IT/multicurrency.lang @@ -8,7 +8,7 @@ MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Use date of document to find currency ra multicurrency_useOriginTx=When an object is created from another, keep the original rate of source object (otherwise use the latest known rate) CurrencyLayerAccount=CurrencyLayer API CurrencyLayerAccount_help_to_synchronize=You sould create an account on their website to use this functionnality
    Get your API key
    If you use a free account you can't change the currency source (USD by default)
    But if your main currency isn't USD you can use the alternate currency source to force you main currency

    You are limited at 1000 synchronizations per month -multicurrency_appId=API key +multicurrency_appId=Chiave API multicurrency_appCurrencySource=Currency source multicurrency_alternateCurrencySource=Alternate currency source CurrenciesUsed=Currencies used @@ -18,3 +18,5 @@ MulticurrencyReceived=Received, original currency MulticurrencyRemainderToTake=Remaining amout, original currency MulticurrencyPaymentAmount=Payment amount, original currency AmountToOthercurrency=Amount To (in currency of receiving account) +CurrencyRateSyncSucceed=Currency rate synchronization done successfuly +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Use the currency of the document for online payments diff --git a/htdocs/langs/it_IT/oauth.lang b/htdocs/langs/it_IT/oauth.lang index 2a231675247..397a585074e 100644 --- a/htdocs/langs/it_IT/oauth.lang +++ b/htdocs/langs/it_IT/oauth.lang @@ -14,7 +14,7 @@ DeleteAccess=Click qui per eliminare il token UseTheFollowingUrlAsRedirectURI=Usa il seguente indirizzo come Redirect URI quando crei le credenziali sul tuo provider OAuth: ListOfSupportedOauthProviders=Inserisci qui le credenziali fornite dal tuo provider OAuth. Vengono visualizzati solo i provider supportati. Questa configurazione può essere usata ache dagli altri moduli che necessitano di autenticazione OAuth2. OAuthSetupForLogin=Page to generate an OAuth token -SeePreviousTab=See previous tab +SeePreviousTab=Vedi la scheda precedente OAuthIDSecret=OAuth ID and Secret TOKEN_REFRESH=Token Refresh Present TOKEN_EXPIRED=Token scaduto diff --git a/htdocs/langs/it_IT/orders.lang b/htdocs/langs/it_IT/orders.lang index cd567d39f07..c1dbc75c639 100644 --- a/htdocs/langs/it_IT/orders.lang +++ b/htdocs/langs/it_IT/orders.lang @@ -20,10 +20,10 @@ SuppliersOrdersRunning=Ordini d'acquisto in corso CustomerOrder=Sales Order CustomersOrders=Ordini Cliente CustomersOrdersRunning=Ordini Cliente in corso -CustomersOrdersAndOrdersLines=Sales orders and order details +CustomersOrdersAndOrdersLines=Ordini dei clienti e righe degli ordini OrdersDeliveredToBill=Sales orders delivered to bill -OrdersToBill=Sales orders delivered -OrdersInProcess=Sales orders in process +OrdersToBill=Ordini clienti spediti +OrdersInProcess=Ordini clienti in corso OrdersToProcess=Ordini Cliente da trattare SuppliersOrdersToProcess=Ordini Fornitore da trattare SuppliersOrdersAwaitingReception=Ordini di acquisto in attesa di ricezione @@ -87,7 +87,7 @@ NbOfOrders=Numero di ordini OrdersStatistics=Statistiche ordini OrdersStatisticsSuppliers=Purchase order statistics NumberOfOrdersByMonth=Numero di ordini per mese -AmountOfOrdersByMonthHT=Amount of orders by month (excl. tax) +AmountOfOrdersByMonthHT=Importo ordini per mese (al netto delle imposte) ListOfOrders=Elenco degli ordini CloseOrder=Chiudi ordine ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. @@ -104,7 +104,7 @@ OnProcessOrders=Ordini in lavorazione RefOrder=Rif. ordine RefCustomerOrder=Rif. fornitore RefOrderSupplier=Ref. order for vendor -RefOrderSupplierShort=Ref. order vendor +RefOrderSupplierShort=Rif. ordine forn. SendOrderByMail=Invia ordine via email ActionsOnOrder=Azioni all'ordine NoArticleOfTypeProduct=Non ci sono articoli definiti "prodotto" quindi non ci sono articoli da spedire @@ -121,14 +121,14 @@ SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted SupplierOrderClassifiedBilled=Purchase Order %s set billed OtherOrders=Altri ordini ##### Types de contacts ##### -TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order +TypeContact_commande_internal_SALESREPFOLL=Responsabile ordini cliente TypeContact_commande_internal_SHIPPING=Responsabile spedizioni cliente TypeContact_commande_external_BILLING=Contatto fatturazione cliente TypeContact_commande_external_SHIPPING=Contatto spedizioni cliente TypeContact_commande_external_CUSTOMER=Contatto follow-up cliente TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up purchase order TypeContact_order_supplier_internal_SHIPPING=Responsabile spedizioni fornitore -TypeContact_order_supplier_external_BILLING=Vendor invoice contact +TypeContact_order_supplier_external_BILLING=Contatto fattura fornitore TypeContact_order_supplier_external_SHIPPING=Vendor shipping contact TypeContact_order_supplier_external_CUSTOMER=Vendor contact following-up order Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Costante COMMANDE_SUPPLIER_ADDON non definita @@ -141,11 +141,12 @@ OrderByEMail=Email OrderByWWW=Sito OrderByPhone=Telefono # Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) +PDFEinsteinDescription=Un modello completo PDF di ordine cliente PDFEratostheneDescription=Un modello completo per gli ordini PDFEdisonDescription=Un modello semplice per gli ordini -PDFProformaDescription=A complete Proforma invoice template +PDFProformaDescription=Un modello completo PDF di fattura Proforma CreateInvoiceForThisCustomer=Ordini da fatturare +CreateInvoiceForThisSupplier=Ordini da fatturare NoOrdersToInvoice=Nessun ordine fatturabile CloseProcessedOrdersAutomatically=Classifica come "Lavorati" tutti gli ordini selezionati OrderCreation=Creazione di ordine diff --git a/htdocs/langs/it_IT/other.lang b/htdocs/langs/it_IT/other.lang index a1750795b26..36119e72677 100644 --- a/htdocs/langs/it_IT/other.lang +++ b/htdocs/langs/it_IT/other.lang @@ -24,7 +24,7 @@ MessageOK=Message on the return page for a validated payment MessageKO=Message on the return page for a canceled payment ContentOfDirectoryIsNotEmpty=La directory non è vuota. DeleteAlsoContentRecursively=Check to delete all content recursively -PoweredBy=Powered by +PoweredBy=Realizzato da YearOfInvoice=Year of invoice date PreviousYearOfInvoice=Previous year of invoice date NextYearOfInvoice=Following year of invoice date @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -55,9 +55,9 @@ Notify_BILL_UNVALIDATE=Ricevuta cliente non convalidata Notify_BILL_PAYED=Customer invoice paid Notify_BILL_CANCEL=Fattura attiva annullata Notify_BILL_SENTBYMAIL=Fattura attiva inviata per email -Notify_BILL_SUPPLIER_VALIDATE=Vendor invoice validated -Notify_BILL_SUPPLIER_PAYED=Vendor invoice paid -Notify_BILL_SUPPLIER_SENTBYMAIL=Vendor invoice sent by mail +Notify_BILL_SUPPLIER_VALIDATE=Fattura fornitore convalidata +Notify_BILL_SUPPLIER_PAYED=Fattura fornitore pagata +Notify_BILL_SUPPLIER_SENTBYMAIL=Fattura fornitore inviata per mail Notify_BILL_SUPPLIER_CANCELED=Vendor invoice cancelled Notify_CONTRACT_VALIDATE=Contratto convalidato Notify_FICHINTER_VALIDATE=Intervento convalidato @@ -74,17 +74,17 @@ Notify_PROJECT_CREATE=Creazione del progetto Notify_TASK_CREATE=Attività creata Notify_TASK_MODIFY=Attività modificata Notify_TASK_DELETE=Attività cancellata -Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) -Notify_EXPENSE_REPORT_APPROVE=Expense report approved -Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) -Notify_HOLIDAY_APPROVE=Leave request approved +Notify_EXPENSE_REPORT_VALIDATE=Note spese convalidate (è richiesta l'approvazione) +Notify_EXPENSE_REPORT_APPROVE=Nota spesa approvata +Notify_HOLIDAY_VALIDATE=Richiesta ferie/permesso convalidata (approvazione richiesta) +Notify_HOLIDAY_APPROVE=Richiesta ferie/permesso approvata SeeModuleSetup=Vedi la configurazione del modulo %s NbOfAttachedFiles=Numero di file/documenti allegati TotalSizeOfAttachedFiles=Dimensione totale dei file/documenti allegati MaxSize=La dimensione massima è AttachANewFile=Allega un nuovo file/documento LinkedObject=Oggetto collegato -NbOfActiveNotifications=Number of notifications (no. of recipient emails) +NbOfActiveNotifications=Numero di notifiche (num. di email da ricevere) PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe two lines are separated by a carriage return.\n\n__USER_SIGNATURE__ PredefinedMailTestHtml=__(Hello)__\nThis is a test mail (the word test must be in bold).
    The two lines are separated by a carriage return.

    __USER_SIGNATURE__ PredefinedMailContentContract=__(Buongiorno)__\n\n\n__(Cordialmente)__\n\n__USER_SIGNATURE__ @@ -181,30 +181,30 @@ AuthenticationDoesNotAllowSendNewPassword=La modalità di autenticazione è % EnableGDLibraryDesc=Per usare questa opzione bisogna installare o abilitare la libreria GD in PHP. ProfIdShortDesc=Prof ID %s è un dato dipendente dal paese terzo.
    Ad esempio, per il paese %s, è il codice %s. DolibarrDemo=Dolibarr ERP/CRM demo -StatsByNumberOfUnits=Statistics for sum of qty of products/services -StatsByNumberOfEntities=Statistics in number of referring entities (no. of invoice, or order...) +StatsByNumberOfUnits=Statistiche per somma della quantità di prodotti / servizi +StatsByNumberOfEntities=Statistiche in numero di entità referenti (n. di fatture o ordini ...) NumberOfProposals=Numero di preventivi -NumberOfCustomerOrders=Number of sales orders +NumberOfCustomerOrders=Numero di ordini cliente NumberOfCustomerInvoices=Numero di ordini fornitore -NumberOfSupplierProposals=Number of vendor proposals +NumberOfSupplierProposals=Numero di proposte del fornitore NumberOfSupplierOrders=Numero ordini d'acquisto NumberOfSupplierInvoices=Number of vendor invoices NumberOfContracts=Number of contracts NumberOfMos=Number of manufacturing orders -NumberOfUnitsProposals=Number of units on proposals -NumberOfUnitsCustomerOrders=Number of units on sales orders -NumberOfUnitsCustomerInvoices=Number of units on customer invoices -NumberOfUnitsSupplierProposals=Number of units on vendor proposals -NumberOfUnitsSupplierOrders=Number of units on purchase orders -NumberOfUnitsSupplierInvoices=Number of units on vendor invoices -NumberOfUnitsContracts=Number of units on contracts +NumberOfUnitsProposals=Numero di unità nei preventivi +NumberOfUnitsCustomerOrders=Numero di unità sugli ordini cliente +NumberOfUnitsCustomerInvoices=Numero di unità nelle fatture cliente +NumberOfUnitsSupplierProposals=Numero di unità nelle proposte fornitori +NumberOfUnitsSupplierOrders=Numero di unità negli ordini d'acquisto +NumberOfUnitsSupplierInvoices=Numero di unità nelle fatture fornitore +NumberOfUnitsContracts=Numero di unità nei contratti NumberOfUnitsMos=Number of units to produce in manufacturing orders EMailTextInterventionAddedContact=A new intervention %s has been assigned to you. EMailTextInterventionValidated=Intervento %s convalidato EMailTextInvoiceValidated=La fattura %s è stata convalidata. EMailTextInvoicePayed=Invoice %s has been paid. EMailTextProposalValidated=La proposta %s è stata convalidata. -EMailTextProposalClosedSigned=Proposal %s has been closed signed. +EMailTextProposalClosedSigned=La proposta %s è stata chiusa e firmata. EMailTextOrderValidated=Order %s has been validated. EMailTextOrderApproved=Order %s has been approved. EMailTextOrderValidatedBy=Order %s has been recorded by %s. @@ -214,7 +214,7 @@ EMailTextOrderRefusedBy=Order %s has been refused by %s. EMailTextExpeditionValidated=Shipping %s has been validated. EMailTextExpenseReportValidated=Expense report %s has been validated. EMailTextExpenseReportApproved=Expense report %s has been approved. -EMailTextHolidayValidated=Leave request %s has been validated. +EMailTextHolidayValidated=La richiesta di ferie/permesso %s è stata convalidata. EMailTextHolidayApproved=Leave request %s has been approved. ImportedWithSet=Set dati importazione DolibarrNotification=Notifica automatica @@ -274,11 +274,11 @@ WEBSITE_PAGEURL=Indirizzo URL della pagina WEBSITE_TITLE=Titolo WEBSITE_DESCRIPTION=Descrizione WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Parole chiave LinesToImport=Righe da importare -MemoryUsage=Memory usage +MemoryUsage=Utilizzo della memoria RequestDuration=Duration of request PopuProp=Products/Services by popularity in Proposals PopuCom=Products/Services by popularity in Orders diff --git a/htdocs/langs/it_IT/paybox.lang b/htdocs/langs/it_IT/paybox.lang index 83b4b081dbc..3f398c374d0 100644 --- a/htdocs/langs/it_IT/paybox.lang +++ b/htdocs/langs/it_IT/paybox.lang @@ -20,7 +20,7 @@ AccountParameter=Dati account UsageParameter=Parametri d'uso InformationToFindParameters=Aiuto per trovare informazioni sul tuo account %s PAYBOX_CGI_URL_V2=URL del modulo CGI di Paybox per il pagamento -VendorName=Nome del venditore +VendorName=Nome del fornitore CSSUrlForPaymentForm=URL del foglio di stile CSS per il modulo di pagamento NewPayboxPaymentReceived=Nuovo pagamento Paybox ricevuto NewPayboxPaymentFailed=Nuovo tentativo di pagamento Paybox ma fallito diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index 78c718b0c37..4d5f8b24b65 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -17,11 +17,13 @@ Create=Crea Reference=Riferimento NewProduct=Nuovo prodotto NewService=Nuovo servizio -ProductVatMassChange=Global VAT Update -ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL products and services! +ProductVatMassChange=Modifica di massa dell'IVA +ProductVatMassChangeDesc=Questo strumento aggiorna l'aliquota IVA definita su TUTTI i prodotti e servizi! MassBarcodeInit=Inizializzazione di massa dei codici a barre MassBarcodeInitDesc=Questa pagina può essere usata per inizializzare un codice a barre di un oggetto che non ha ancora un codice a barre definito. Controlla prima che il setup del modulo Codici a barre sia completo. ProductAccountancyBuyCode=Codice contabile (acquisto) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Codice contabile (vendita) ProductAccountancySellIntraCode=Codice contabile (vendita intracomunitaria) ProductAccountancySellExportCode=Codice contabile (vendita per esportazione) @@ -66,17 +68,17 @@ ProductStatusNotOnBuyShort=Obsoleto UpdateVAT=Aggiorna iva UpdateDefaultPrice=Aggiornamento prezzo predefinito UpdateLevelPrices=Aggiorna prezzi per ogni livello -AppliedPricesFrom=Applied from +AppliedPricesFrom=Valido dal SellingPrice=Prezzo di vendita -SellingPriceHT=Selling price (excl. tax) +SellingPriceHT=Prezzo di vendita (al netto delle imposte) SellingPriceTTC=Prezzo di vendita (inclusa IVA) -SellingMinPriceTTC=Minimum Selling price (inc. tax) +SellingMinPriceTTC=Prezzo minimo di vendita (tasse incluse) CostPriceDescription=This price field (excl. tax) can be used to store the average amount this product costs to your company. It may be any price you calculate yourself, for example from the average buying price plus average production and distribution cost. CostPriceUsage=Questo valore può essere utilizzato per il calcolo del margine. SoldAmount=Quantità venduta PurchasedAmount=Quantità acquistata NewPrice=Nuovo prezzo -MinPrice=Min. sell price +MinPrice=Prezzo minimo di vendita EditSellingPriceLabel=Modifica l'etichetta del prezzo di vendita CantBeLessThanMinPrice=Il prezzo di vendita non può essere inferiore al minimo consentito per questo prodotto ( %s IVA esclusa) ContractStatusClosed=Chiuso @@ -85,7 +87,7 @@ ErrorProductBadRefOrLabel=Il valore di riferimento o l'etichetta è sbagliato. ErrorProductClone=Si è verificato un problema cercando di cuplicare il prodotto o servizio ErrorPriceCantBeLowerThanMinPrice=Errore, il prezzo non può essere inferiore al prezzo minimo. Suppliers=Fornitori -SupplierRef=Vendor SKU +SupplierRef=Codice Fornitore (SKU) ShowProduct=Visualizza prodotto ShowService=Visualizza servizio ProductsAndServicesArea=Area prodotti e servizi @@ -116,7 +118,7 @@ CategoryFilter=Filtro categoria ProductToAddSearch=Cerca prodotto da aggiungere NoMatchFound=Nessun risultato trovato ListOfProductsServices=Elenco prodotti/servizi -ProductAssociationList=List of products/services that are component(s) of this virtual product/kit +ProductAssociationList=Elenco dei prodotti / servizi che sono componenti di questo prodotto / pacchetto virtuale ProductParentList=Elenco dei prodotti/servizi comprendenti questo prodotto ErrorAssociationIsFatherOfThis=Uno dei prodotti selezionati è padre dell'attuale prodotto DeleteProduct=Elimina un prodotto/servizio @@ -129,11 +131,11 @@ ImportDataset_service_1=Servizi DeleteProductLine=Elimina linea di prodotti ConfirmDeleteProductLine=Vuoi davvero cancellare questa linea di prodotti? ProductSpecial=Prodotto speciale -QtyMin=Min. purchase quantity -PriceQtyMin=Price quantity min. -PriceQtyMinCurrency=Price (currency) for this qty. (no discount) -VATRateForSupplierProduct=VAT Rate (for this vendor/product) -DiscountQtyMin=Discount for this qty. +QtyMin=Min. quantità d'acquisto +PriceQtyMin=Prezzo quantità min. +PriceQtyMinCurrency=Prezzo per questa quantità min. (senza sconto) (valuta) +VATRateForSupplierProduct=Aliquota IVA (per questo fornitore / prodotto) +DiscountQtyMin=Sconto per questa quantità NoPriceDefinedForThisSupplier=No price/qty defined for this vendor/product NoSupplierPriceDefinedForThisProduct=No vendor price/qty defined for this product PredefinedProductsToSell=Predefined Product @@ -165,7 +167,7 @@ SuppliersPrices=Prezzi fornitore SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Paese di origine -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Etichetta breve Unit=Unità p=u. @@ -282,7 +284,7 @@ PriceMode=Modalità di prezzo PriceNumeric=Numero DefaultPrice=Prezzo predefinito ComposedProductIncDecStock=Aumenta e Diminuisci le scorte alla modifica del prodotto padre -ComposedProduct=Child products +ComposedProduct=Sottoprodotto MinSupplierPrice=Prezzo d'acquisto minimo MinCustomerPrice=Prezzo minimo di vendita DynamicPriceConfiguration=Configurazione dinamica dei prezzi diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index 1fe3f577d6a..d59b8e7d6b5 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -39,7 +39,7 @@ ShowProject=Visualizza progetto ShowTask=Visualizza compito SetProject=Imposta progetto NoProject=Nessun progetto definito o assegnato -NbOfProjects=Number of projects +NbOfProjects=Num. di progetti NbOfTasks=Numero attività TimeSpent=Tempo lavorato TimeSpentByYou=Tempo impiegato da te @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Tempo ListOfTasks=Elenco dei compiti GoToListOfTimeConsumed=Vai all'elenco del tempo impiegato -GoToListOfTasks=Vai all'elenco dei compiti -GoToGanttView=Go to Gantt view GanttView=Vista Gantt ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -99,11 +97,11 @@ ListSupplierInvoicesAssociatedProject=Elenco fatture d'acquisto associate al pro ListContractAssociatedProject=Elenco contratti associati al progetto ListShippingAssociatedProject=Elenco spedizioni associate al progetto ListFichinterAssociatedProject=Elenco interventi associati al progetto -ListExpenseReportsAssociatedProject=List of expense reports related to the project -ListDonationsAssociatedProject=List of donations related to the project +ListExpenseReportsAssociatedProject=Elenco delle note spese associate al progetto +ListDonationsAssociatedProject=Elenco delle donazioni associate al progetto ListVariousPaymentsAssociatedProject=List of miscellaneous payments related to the project ListSalariesAssociatedProject=Elenco pagamenti stipendio associati al progetto -ListActionsAssociatedProject=List of events related to the project +ListActionsAssociatedProject=Elenco degli eventi associati al progetto ListMOAssociatedProject=List of manufacturing orders related to the project ListTaskTimeUserProject=Tempo impiegato in compiti del progetto ListTaskTimeForTask=Tempo impiegato per l'attività @@ -188,10 +186,10 @@ PlannedWorkload=Carico di lavoro previsto PlannedWorkloadShort=Carico di lavoro ProjectReferers=Elementi correlati ProjectMustBeValidatedFirst=I progetti devono prima essere validati -FirstAddRessourceToAllocateTime=Assegna una risorsa per allocare tempo +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per giorno InputPerWeek=Input per settimana -InputPerMonth=Input per month +InputPerMonth=Input per mese InputDetail=Dettagli di input TimeAlreadyRecorded=Questo lasso di tempo è già stato registrato per questa attività/giorno e l'utente%s ProjectsWithThisUserAsContact=Progetti con questo utente come contatto @@ -206,12 +204,12 @@ AssignTaskToUser=Assegnata attività a %s SelectTaskToAssign=Seleziona attività da a assegnare... AssignTask=Assegnare ProjectOverview=Panoramica -ManageTasks=Use projects to follow tasks and/or report time spent (timesheets) +ManageTasks=Utilizzare i progetti per seguire compiti e/o tempo lavorato ManageOpportunitiesStatus=Utilizzare i progetti per seguire clienti interessati/opportunità -ProjectNbProjectByMonth=No. of created projects by month -ProjectNbTaskByMonth=No. of created tasks by month +ProjectNbProjectByMonth=Num. di progetti creati per mese +ProjectNbTaskByMonth=Numero di attività create per mese ProjectOppAmountOfProjectsByMonth=Amount of leads by month -ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of leads by month +ProjectWeightedOppAmountOfProjectsByMonth=Quantità ponderata di opportunità per mese ProjectOpenedProjectByOppStatus=Open project/lead by lead status ProjectsStatistics=Le statistiche relative a progetti/clienti interessati TasksStatistics=Statistiche su attività di progetto/clienti interessati @@ -223,8 +221,8 @@ OnlyOpportunitiesShort=Only leads OpenedOpportunitiesShort=Open leads NotOpenedOpportunitiesShort=Not an open lead NotAnOpportunityShort=Not a lead -OpportunityTotalAmount=Total amount of leads -OpportunityPonderatedAmount=Weighted amount of leads +OpportunityTotalAmount=Importo totale delle opportunità +OpportunityPonderatedAmount=Importo ponderato delle opportunità OpportunityPonderatedAmountDesc=Leads amount weighted with probability OppStatusPROSP=Potenziale OppStatusQUAL=Qualificazione @@ -240,6 +238,7 @@ LatestModifiedProjects=Ultimi %s progetti modificati OtherFilteredTasks=Altre attività filtrate NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Permetti agli utenti di commentare queste attività AllowCommentOnProject=Permetti agli utenti di commentare questi progetti @@ -257,11 +256,12 @@ InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on p ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Opportunità da seguire ProjectFollowTasks=Attività di progetto -Usage=Usage +Usage=Utilizzo UsageOpportunity=Utilizzo: opportunità UsageTasks=Uso: Compiti UsageBillTimeShort=Utilizzo: tempo di fatturazione -InvoiceToUse=Draft invoice to use +InvoiceToUse=Fattura in bozza da usare NewInvoice=Nuova fattura OneLinePerTask=Una riga per compito OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/it_IT/propal.lang b/htdocs/langs/it_IT/propal.lang index 8f2993b417c..ee7ebc262b8 100644 --- a/htdocs/langs/it_IT/propal.lang +++ b/htdocs/langs/it_IT/propal.lang @@ -76,7 +76,7 @@ TypeContact_propal_external_BILLING=Contatto per la fatturazione TypeContact_propal_external_CUSTOMER=Responsabile per il cliente TypeContact_propal_external_SHIPPING=Contatto cliente per la consegna # Document models -DocModelAzurDescription=A complete proposal model (old implementation of Cyan template) +DocModelAzurDescription=A complete proposal model DocModelCyanDescription=Modello di preventivo completo DefaultModelPropalCreate=Creazione del modello predefinito DefaultModelPropalToBill=Modello predefinito quando si chiude un preventivo (da fatturare) diff --git a/htdocs/langs/it_IT/receiptprinter.lang b/htdocs/langs/it_IT/receiptprinter.lang index 7b1a22e748d..3dd1ff848c7 100644 --- a/htdocs/langs/it_IT/receiptprinter.lang +++ b/htdocs/langs/it_IT/receiptprinter.lang @@ -5,7 +5,7 @@ PrinterUpdated=Stampante %s aggiornata PrinterDeleted=Stampante %s eliminata TestSentToPrinter=Stampa di prova inviata a %s ReceiptPrinter=Receipt printers -ReceiptPrinterDesc=Setup of receipt printers +ReceiptPrinterDesc=Configurazione stampa ricevute ReceiptPrinterTemplateDesc=Setup of Templates ReceiptPrinterTypeDesc=Description of Receipt Printer's type ReceiptPrinterProfileDesc=Description of Receipt Printer's Profile @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Stampante dummy CONNECTOR_NETWORK_PRINT=Stampante di rete CONNECTOR_FILE_PRINT=Stampante locale CONNECTOR_WINDOWS_PRINT=Stampante Windows locale +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Stampante di test (non stampa davvero) CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Profilo predefinito PROFILE_SIMPLE=Profilo semplice PROFILE_EPOSTEP=Epos Tep Profile @@ -45,8 +47,8 @@ DOL_ACTIVATE_BUZZER=Activate buzzer DOL_PRINT_QRCODE=Stampa codice QR DOL_PRINT_LOGO=Stampa il logo della mia azienda DOL_PRINT_LOGO_OLD=Stampa il logo della mia azienda (vecchie stampe) -DOL_BOLD=Bold -DOL_BOLD_DISABLED=Disable bold +DOL_BOLD=Grassetto +DOL_BOLD_DISABLED=Disabilita grassetto DOL_DOUBLE_HEIGHT=Double height size DOL_DOUBLE_WIDTH=Double width size DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Rif. fattura +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capitale +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 90b3d73bcb1..8f3d7072a54 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -64,9 +64,9 @@ OrderDispatch=Ricezione prodotti RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated) RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated) DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note -DeStockOnValidateOrder=Decrease real stocks on validation of sales order -DeStockOnShipment=Diminuire stock reali sulla validazione di spedizione -DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed +DeStockOnValidateOrder=Diminuire le scorte fisiche/reali alla convalida degli ordini cliente +DeStockOnShipment=Diminuire le scorte fisiche/reali alla convalida della spedizione +DeStockOnShipmentOnClosing=Diminuire le scorte fisiche/reali quando la spedizione viene chiusa. ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note ReStockOnValidateOrder=Increase real stocks on purchase order approval ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods @@ -79,10 +79,10 @@ DispatchVerb=Ricezione StockLimitShort=Limite per segnalazioni StockLimit=Limite minimo scorte (per gli avvisi) StockLimitDesc=(empty) means no warning.
    0 can be used for a warning as soon as stock is empty. -PhysicalStock=Physical Stock +PhysicalStock=Scorte fisiche RealStock=Scorte reali -RealStockDesc=Physical/real stock is the stock currently in the warehouses. -RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module): +RealStockDesc=Scorte fisiche/reali è la giacenza attualmente nei magazzini.\n +RealStockWillAutomaticallyWhen=Le scorte fisiche saranno modificate secondo le seguenti regole (come definito nel modulo Magazzino): VirtualStock=Scorte virtuali VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped etc.) IdWarehouse=Id magazzino @@ -104,7 +104,7 @@ ThisWarehouseIsPersonalStock=Questo magazzino rappresenta la riserva personale d SelectWarehouseForStockDecrease=Scegli magazzino da utilizzare per la riduzione delle scorte SelectWarehouseForStockIncrease=Scegli magazzino da utilizzare per l'aumento delle scorte NoStockAction=Nessuna azione su queste scorte -DesiredStock=Desired Stock +DesiredStock=Scorte ottimali desiderate DesiredStockDesc=Questa quantità sarà il valore utilizzato per rifornire il magazzino mediante la funzione di rifornimento. StockToBuy=Da ordinare Replenishment=Rifornimento @@ -112,17 +112,17 @@ ReplenishmentOrders=Ordini di rifornimento VirtualDiffersFromPhysical=In relazione alle opzioni di incremento/riduzione, le scorte fisiche e quelle virtuali (fisiche - ordini clienti + ordini fornitori) potrebbero differire UseVirtualStockByDefault=Utilizza scorte virtuali come default, invece delle scorte fisiche, per la funzione di rifornimento UseVirtualStock=Usa scorte virtuale -UsePhysicalStock=Usa giacenza fisica +UsePhysicalStock=Usa scorte fisiche CurentSelectionMode=Modalità di selezione corrente CurentlyUsingVirtualStock=Giacenza virtuale -CurentlyUsingPhysicalStock=Giacenza fisica +CurentlyUsingPhysicalStock=Scorte fisiche RuleForStockReplenishment=Regola per il rifornimento delle scorte SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor AlertOnly= Solo avvisi WarehouseForStockDecrease=Il magazzino %s sarà usato per la diminuzione delle scorte WarehouseForStockIncrease=Il magazzino %s sarà usato per l'aumento delle scorte ForThisWarehouse=Per questo magazzino -ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference. +ReplenishmentStatusDesc=Questa è una lista di tutti i prodotti con una giacenza inferiore a quella desiderata (o inferiore al valore di allarme se la casella "solo allarme" è selezionata). Utilizzando la casella di controllo, è possibile creare ordini fornitori per colmare la differenza. ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Rifornimento NbOfProductBeforePeriod=Quantità del prodotto %s in magazzino prima del periodo selezionato (< %s) @@ -152,7 +152,7 @@ NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase orde ThisSerialAlreadyExistWithDifferentDate=Questo lotto/numero seriale (%s) esiste già con una differente data di scadenza o di validità (trovata %s, inserita %s ) OpenAll=Aperto per tutte le azioni OpenInternal=Aperto per le azioni interne -UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception +UseDispatchStatus=Utilizzare uno stato di spedizione (approvato / rifiutato) per le righe di prodotti alla ricezione dell'ordine di acquisto OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated @@ -160,9 +160,9 @@ ProductStockWarehouseDeleted=Stock limit for alert and desired optimal stock cor AddNewProductStockWarehouse=Set new limit for alert and desired optimal stock AddStockLocationLine=Decrease quantity then click to add another warehouse for this product InventoryDate=Inventory date -NewInventory=New inventory +NewInventory=Nuovo inventario inventorySetup = Inventory Setup -inventoryCreatePermission=Create new inventory +inventoryCreatePermission=Crea nuovo inventario inventoryReadPermission=View inventories inventoryWritePermission=Update inventories inventoryValidatePermission=Validate inventory diff --git a/htdocs/langs/it_IT/stripe.lang b/htdocs/langs/it_IT/stripe.lang index 2e4972ccef1..dcad56604c6 100644 --- a/htdocs/langs/it_IT/stripe.lang +++ b/htdocs/langs/it_IT/stripe.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - stripe StripeSetup=Stripe module setup -StripeDesc=Offer customers a Stripe online payment page for payments with credit/cebit cards via Stripe. This can be used to allow your customers to make ad-hoc payments or for payments related to a particular Dolibarr object (invoice, order, ...) +StripeDesc=Offri ai clienti una pagina di pagamento online Stripe per pagamenti con carte di credito / debito tramite Stripe . Questo modulo può essere usato per consentire ai tuoi clienti di effettuare pagamenti ad-hoc o per pagamenti relativi a un particolare oggetto Dolibarr (fattura, ordine, ...) StripeOrCBDoPayment=Pay with credit card or Stripe FollowingUrlAreAvailableToMakePayments=Puoi utilizzare i seguenti indirizzi per permettere ai clienti di effettuare pagamenti su Dolibarr PaymentForm=Forma di pagamento @@ -30,8 +30,9 @@ InformationToFindParameters=Aiuto per trovare informazioni sul tuo account %s STRIPE_CGI_URL_V2=Url of Stripe CGI module for payment VendorName=Nome del venditore CSSUrlForPaymentForm=URL del foglio di stile CSS per il modulo di pagamento -NewStripePaymentReceived=New Stripe payment received -NewStripePaymentFailed=New Stripe payment tried but failed +NewStripePaymentReceived=Nuovo pagamento Stripe ricevuto +NewStripePaymentFailed=Nuovo pagamento Stripe provato ma non riuscito +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -40,7 +41,7 @@ STRIPE_LIVE_PUBLISHABLE_KEY=Publishable live key STRIPE_LIVE_WEBHOOK_KEY=Webhook live key ONLINE_PAYMENT_WAREHOUSE=Stock to use for stock decrease when online payment is done
    (TODO When option to decrease stock is done on an action on invoice and the online payment generate itself the invoice ?) StripeLiveEnabled=Stripe live enabled (otherwise test/sandbox mode) -StripeImportPayment=Import Stripe payments +StripeImportPayment=Importa pagamenti Stripe ExampleOfTestCreditCard=Example of credit card for test: %s => valid, %s => error CVC, %s => expired, %s => charge fails StripeGateways=Stripe gateways OAUTH_STRIPE_TEST_ID=Stripe Connect Client ID (ca_...) @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/it_IT/supplier_proposal.lang b/htdocs/langs/it_IT/supplier_proposal.lang index 31568557d34..6ef46f45959 100644 --- a/htdocs/langs/it_IT/supplier_proposal.lang +++ b/htdocs/langs/it_IT/supplier_proposal.lang @@ -9,10 +9,10 @@ DraftRequests=Quotazioni in bozza SupplierProposalsDraft=Bozza di proposta fornitore LastModifiedRequests=Ultime %s richieste di quotazione modificate RequestsOpened=Apri richieste di quotazione -SupplierProposalArea=Area proposte fornitore +SupplierProposalArea=Area quotazioni fornitori SupplierProposalShort=Proposta fornitore -SupplierProposals=Proposta venditore -SupplierProposalsShort=Proposta venditore +SupplierProposals=Proposte fornitore +SupplierProposalsShort=Proposte fornitore NewAskPrice=Nuova richiesta quotazione ShowSupplierProposal=Mostra le richieste di quotazione AddSupplierProposal=Inserisci richiesta di quotazione diff --git a/htdocs/langs/it_IT/suppliers.lang b/htdocs/langs/it_IT/suppliers.lang index 4f7a8280b1f..deeb5548651 100644 --- a/htdocs/langs/it_IT/suppliers.lang +++ b/htdocs/langs/it_IT/suppliers.lang @@ -19,7 +19,7 @@ ReferenceSupplierIsAlreadyAssociatedWithAProduct=Questo referenza del fornitore NoRecordedSuppliers=Nessun fornitore registrato SupplierPayment=Pagamento fornitore SuppliersArea=Area fornitore -RefSupplierShort=Rif. fornitura +RefSupplierShort=Rif. fornitore Availability=Disponibilità ExportDataset_fournisseur_1=Fatture fornitore e dettagli ExportDataset_fournisseur_2=Fatture fornitore e pagamenti diff --git a/htdocs/langs/it_IT/ticket.lang b/htdocs/langs/it_IT/ticket.lang index 20f6650f9cc..18141535770 100644 --- a/htdocs/langs/it_IT/ticket.lang +++ b/htdocs/langs/it_IT/ticket.lang @@ -21,7 +21,7 @@ Module56000Name=Ticket Module56000Desc=Sistema di ticket per la gestione di problemi o richieste -Permission56001=See tickets +Permission56001=Visualizza tickets Permission56002=Modify tickets Permission56003=Delete tickets Permission56004=Manage tickets @@ -36,7 +36,7 @@ TicketTypeShortBUGHARD=Dysfonctionnement matériel TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue, bug o problemi TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Progetto TicketTypeShortOTHER=Altro @@ -64,7 +64,7 @@ NotRead=Non letto Read=Da leggere Assigned=Assegnato InProgress=Avviato -NeedMoreInformation=Waiting for information +NeedMoreInformation=In attesa di informazioni Answered=Answered Waiting=In attesa Closed=Chiuso @@ -90,7 +90,7 @@ TicketParamModule=Module variable setup TicketParamMail=Email setup TicketEmailNotificationFrom=Notification email from TicketEmailNotificationFromHelp=Used into ticket message answer by example -TicketEmailNotificationTo=Notifications email to +TicketEmailNotificationTo=Notifiche via email a TicketEmailNotificationToHelp=Invia email di notifica a questo indirizzo TicketNewEmailBodyLabel=Text message sent after creating a ticket TicketNewEmailBodyHelp=The text specified here will be inserted into the email confirming the creation of a new ticket from the public interface. Information on the consultation of the ticket are automatically added. @@ -133,7 +133,7 @@ TicketsDisableCustomerEmail=Always disable emails when a ticket is created from # # Index & list page # -TicketsIndex=Ticket (Home) +TicketsIndex=Area Tickets TicketList=List of tickets TicketAssignedToMeInfos=This page display ticket list created by or assigned to current user NoTicketsFound=No ticket found @@ -280,7 +280,7 @@ TicketPublicInterfaceForbidden=The public interface for the tickets was not enab ErrorEmailOrTrackingInvalid=Bad value for tracking ID or email OldUser=Old user NewUser=Nuovo utente -NumberOfTicketsByMonth=Number of tickets per month +NumberOfTicketsByMonth=Numero di ticket per mese NbOfTickets=Number of tickets # notifications TicketNotificationEmailSubject=Ticket %s updated diff --git a/htdocs/langs/it_IT/trips.lang b/htdocs/langs/it_IT/trips.lang index f8ba60ce433..d328b22677d 100644 --- a/htdocs/langs/it_IT/trips.lang +++ b/htdocs/langs/it_IT/trips.lang @@ -10,9 +10,9 @@ ListOfFees=Elenco delle tariffe TypeFees=Tipi di imposte ShowTrip=Mostra note spese NewTrip=Nuova nota spese -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports -CompanyVisited=Company/organization visited +LastExpenseReports=Ultime %s note spese +AllExpenseReports=Tutte le note spese +CompanyVisited=Azienda / organizzazione visitata FeesKilometersOrAmout=Tariffa kilometrica o importo DeleteTrip=Elimina nota spese ConfirmDeleteTrip=Vuoi davvero eliminare questa nota spese? diff --git a/htdocs/langs/it_IT/users.lang b/htdocs/langs/it_IT/users.lang index 04ccb76704e..a0dd542b471 100644 --- a/htdocs/langs/it_IT/users.lang +++ b/htdocs/langs/it_IT/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Password cambiata a: %s SubjectNewPassword=La tua nuova password per %s GroupRights=Autorizzazioni del gruppo UserRights=Autorizzazioni utente -UserGUISetup=User Display Setup +UserGUISetup=Impostazioni grafiche DisableUser=Disattiva DisableAUser=Disattiva un utente DeleteUser=Elimina @@ -34,7 +34,7 @@ ListOfUsers=Elenco utenti SuperAdministrator=Superadmin SuperAdministratorDesc=Con tutti i diritti di amministrazione AdministratorDesc=Amministratore -DefaultRights=Default Permissions +DefaultRights=Autorizzazioni predefinite DefaultRightsDesc=Define here the default permissions that are automatically granted to a new user (to modify permissions for existing users, go to the user card). DolibarrUsers=Utenti Dolibarr LastName=Cognome @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Utente di dominio %s Reactivate=Riattiva CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Autorizzazioni ereditate dall'appartenenza al gruppo. Inherited=Ereditato UserWillBeInternalUser=L'utente sarà un utente interno (in quanto non collegato a un soggetto terzo) @@ -113,3 +113,5 @@ CantDisableYourself=You can't disable your own user record ForceUserExpenseValidator=Forza validatore rapporto spese ForceUserHolidayValidator=Convalida richiesta di congedo forzato ValidatorIsSupervisorByDefault=Per impostazione predefinita, il validatore è il supervisore dell'utente. Mantieni vuoto per mantenere questo comportamento. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/it_IT/website.lang b/htdocs/langs/it_IT/website.lang index cf4ac858e55..f411690e00c 100644 --- a/htdocs/langs/it_IT/website.lang +++ b/htdocs/langs/it_IT/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Visualizza pagina in una nuova scheda SetAsHomePage=Imposta come homepage RealURL=Indirizzo URL vero ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -76,7 +77,7 @@ BlogPost=Articoli sul blog WebsiteAccount=Website account WebsiteAccounts=Website accounts AddWebsiteAccount=Create web site account -BackToListOfThirdParty=Back to list for Third Party +BackToListOfThirdParty=Torna all'elenco per terze parti DisableSiteFirst=Disable website first MyContainerTitle=My web site title AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -121,6 +122,9 @@ BackToHomePage=Torna alla home page ... TranslationLinks=Link alla traduzione YouTryToAccessToAFileThatIsNotAWebsitePage=Stai tentando di accedere ad una pagina che non è pesente UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters -MainLanguage=Main language +MainLanguage=Lingua principale OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index 425e8bec807..0ffb092fea4 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=注:制限なしお使いのPHPの設定で設定されていません MaxSizeForUploadedFiles=アップロードファイルの最大サイズ(0は任意のアップロードを許可しないように) UseCaptchaCode=ログインページで、グラフィカルコード(CAPTCHA)を使用して -AntiVirusCommand= アンチウイルスのコマンドへのフルパス -AntiVirusCommandExample= ClamWinの例:C:\\ PROGRA〜1 \\ ClamWinの\\ BIN \\ clamscan.exe
    ClamAV用例:は/ usr / bin / clamscan +AntiVirusCommand=アンチウイルスのコマンドへのフルパス +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= コマンドラインで複数のパラメータ -AntiVirusParamExample= ClamWinのための例: - データベース= "はC:\\ Program Files(x86)を\\ ClamWinの\\ libに" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=会計モジュールのセットアップ UserSetup=ユーザーの管理設定 MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=デモで機能を無効にする FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=から要素のみ対応のモジュールが表示されます。 -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=でアクティブに @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=地域 DictionaryCountry=国 DictionaryCurrency=通貨 -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VATレートまたは販売税率 @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=率 LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=デフォルトでは、提案されたIRPFは0です。ルールの終わり。 LocalTax2IsUsedExampleES=スペインでは、フリーランサーとサービスモジュールの税制を選択した企業に提供する独立した専門家。 LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=購入 CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=販売 CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=ない翻訳がコードに見つからない場合、デフォルトで使用されるラベル LabelOnDocuments=ドキュメントのラベル LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=セキュリティ監査イベント Audit=監査 @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=システム情報では、読み取り専用モードでのみ管理者の目に見える得るその他の技術情報です。 SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=ユーザーモジュールのセットアップ UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=請求書ドキュメントモデル BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=検証日に請求書の日付を強制的に -SuggestedPaymentModesIfNotDefinedInInvoice=請求書のために定義されていない場合、デフォルトでは請求書上で示唆決済モード +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=請求書のフリーテキスト @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=商業的な提案はモジュールのセットアップ ProposalsNumberingModules=商業的な提案番号モジュール ProposalsPDFModules=商業的な提案文書のモデル -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=商業的な提案でフリーテキスト WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=モジュールの番号受注 OrdersModelModule=注文書のモデル @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ja_JP/bills.lang b/htdocs/langs/ja_JP/bills.lang index 1b81a9dba8f..6983da51ab6 100644 --- a/htdocs/langs/ja_JP/bills.lang +++ b/htdocs/langs/ja_JP/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=仕入先の請求書 Payment=支払い -PaymentBack=戻って支払い -CustomerInvoicePaymentBack=戻って支払い +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=支払い PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=支払いを削除します。 ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=受け取った支払い @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ja_JP/blockedlog.lang b/htdocs/langs/ja_JP/blockedlog.lang index 3b14b0761a3..8410e1d5419 100644 --- a/htdocs/langs/ja_JP/blockedlog.lang +++ b/htdocs/langs/ja_JP/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/ja_JP/cashdesk.lang b/htdocs/langs/ja_JP/cashdesk.lang index 8fb2af438ff..53905618d23 100644 --- a/htdocs/langs/ja_JP/cashdesk.lang +++ b/htdocs/langs/ja_JP/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=この記事を追加します。 RestartSelling=販売に戻る SellFinished=販売完了 PrintTicket=印刷チケット +SendTicket=Send ticket NoProductFound=記事見つかりません ProductFound=製品が見つかりました NoArticle=いいえ記事ません @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=請求書のNb Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ja_JP/companies.lang b/htdocs/langs/ja_JP/companies.lang index 37ddfe69630..5779051f34f 100644 --- a/htdocs/langs/ja_JP/companies.lang +++ b/htdocs/langs/ja_JP/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=データベースから削除された会社 "%s"。 ListOfContacts=連絡先/アドレスのリスト ListOfContactsAddresses=連絡先/アドレスのリスト ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=連絡先を表示する ContactsAllShort=すべて(フィルタなし) ContactType=コンタクトタイプ @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/ja_JP/compta.lang b/htdocs/langs/ja_JP/compta.lang index 10ad16add2d..863b691b5b1 100644 --- a/htdocs/langs/ja_JP/compta.lang +++ b/htdocs/langs/ja_JP/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index e75a5699366..fe936f0de87 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=ファイルはサーバーで完全に受け取っていませ ErrorNoTmpDir=一時的なdirectyの%sが存在しません。 ErrorUploadBlockedByAddon=PHP / Apacheプラグインによってブロックされてアップロードします。 ErrorFileSizeTooLarge=ファイルサイズが大きすぎます。 +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=(%s桁の最大値)int型に対して長すぎるサイズ ErrorSizeTooLongForVarcharType=文字列型(%s文字最大)長すぎるサイズ ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index e9edfac1a37..530e00adb78 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=あなたのPHPの最大のセッションメモリは%sに設定されています。これは十分なはずです。 PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=お使いのPHPインストールはCurlをサポー ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=ディレクトリの%sが存在しません。 ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ja_JP/link.lang b/htdocs/langs/ja_JP/link.lang index 51c5d766fc4..ede779683da 100644 --- a/htdocs/langs/ja_JP/link.lang +++ b/htdocs/langs/ja_JP/link.lang @@ -8,3 +8,4 @@ LinkRemoved=リンク %s が削除されました ErrorFailedToDeleteLink= リンク '%s' を削除できませんでした ErrorFailedToUpdateLink= リンク '%s' を更新できませんでした URLToLink=リンクの URL +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/ja_JP/mails.lang b/htdocs/langs/ja_JP/mails.lang index 4c1dd54d0d4..cdd1d8e1eeb 100644 --- a/htdocs/langs/ja_JP/mails.lang +++ b/htdocs/langs/ja_JP/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index 7dc914b5354..571c9f75ab4 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=試験用接続 ToClone=クローン +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=定義されているクローンを作成するデータがありません。 Of=の @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=リストビュー +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -971,7 +974,7 @@ CommentDeleted=Comment deleted Everybody=皆 PayedBy=Paid by PayedTo=Paid to -Monthly=Monthly +Monthly=毎月 Quarterly=Quarterly Annual=Annual Local=Local @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/ja_JP/other.lang b/htdocs/langs/ja_JP/other.lang index 27b1ffe543e..bed40f08556 100644 --- a/htdocs/langs/ja_JP/other.lang +++ b/htdocs/langs/ja_JP/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=タイトル WEBSITE_DESCRIPTION=説明 WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index b2546e37351..61a31695f3a 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=原産国 -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=ユニット p=u. diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index f0f0a7e387f..06c0202207e 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=時間 ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=新しい請求書 OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ja_JP/receiptprinter.lang b/htdocs/langs/ja_JP/receiptprinter.lang index c738f5e89d5..673850ca62f 100644 --- a/htdocs/langs/ja_JP/receiptprinter.lang +++ b/htdocs/langs/ja_JP/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=請求書参照 +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=資本 +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ja_JP/stripe.lang b/htdocs/langs/ja_JP/stripe.lang index 36061a632a1..90be83666f7 100644 --- a/htdocs/langs/ja_JP/stripe.lang +++ b/htdocs/langs/ja_JP/stripe.lang @@ -32,6 +32,7 @@ VendorName=ベンダーの名前 CSSUrlForPaymentForm=支払いフォームのCSSスタイルシートのURL NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ja_JP/users.lang b/htdocs/langs/ja_JP/users.lang index 2666d4032c8..daa3de23f77 100644 --- a/htdocs/langs/ja_JP/users.lang +++ b/htdocs/langs/ja_JP/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=ドメインユーザー%s Reactivate=再アクティブ化 CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=ユーザーのグループのいずれかから継承されたので、許可が付与されます。 Inherited=継承された UserWillBeInternalUser=(特定の第三者にリンクされていないため)作成したユーザーは、内部ユーザーになります @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/ja_JP/website.lang b/htdocs/langs/ja_JP/website.lang index fc034117da4..d0c17d5ab4d 100644 --- a/htdocs/langs/ja_JP/website.lang +++ b/htdocs/langs/ja_JP/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=ホームページに設定する RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang index 2f36c876c1a..0205f246b0c 100644 --- a/htdocs/langs/ka_GE/admin.lang +++ b/htdocs/langs/ka_GE/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ka_GE/bills.lang b/htdocs/langs/ka_GE/bills.lang index 6d7c61784f7..8c22ce0159a 100644 --- a/htdocs/langs/ka_GE/bills.lang +++ b/htdocs/langs/ka_GE/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ka_GE/blockedlog.lang b/htdocs/langs/ka_GE/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/ka_GE/blockedlog.lang +++ b/htdocs/langs/ka_GE/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/ka_GE/cashdesk.lang b/htdocs/langs/ka_GE/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/ka_GE/cashdesk.lang +++ b/htdocs/langs/ka_GE/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ka_GE/companies.lang b/htdocs/langs/ka_GE/companies.lang index c569a48c84a..f8b3d0354e2 100644 --- a/htdocs/langs/ka_GE/companies.lang +++ b/htdocs/langs/ka_GE/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/ka_GE/compta.lang b/htdocs/langs/ka_GE/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/ka_GE/compta.lang +++ b/htdocs/langs/ka_GE/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/ka_GE/errors.lang +++ b/htdocs/langs/ka_GE/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/ka_GE/install.lang +++ b/htdocs/langs/ka_GE/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ka_GE/link.lang b/htdocs/langs/ka_GE/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/ka_GE/link.lang +++ b/htdocs/langs/ka_GE/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/ka_GE/mails.lang b/htdocs/langs/ka_GE/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/ka_GE/mails.lang +++ b/htdocs/langs/ka_GE/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/ka_GE/main.lang b/htdocs/langs/ka_GE/main.lang index 686f3ac1849..2082506c405 100644 --- a/htdocs/langs/ka_GE/main.lang +++ b/htdocs/langs/ka_GE/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/ka_GE/other.lang b/htdocs/langs/ka_GE/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/ka_GE/other.lang +++ b/htdocs/langs/ka_GE/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/ka_GE/products.lang b/htdocs/langs/ka_GE/products.lang index d8a3192551f..a31243a07b6 100644 --- a/htdocs/langs/ka_GE/products.lang +++ b/htdocs/langs/ka_GE/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/ka_GE/projects.lang b/htdocs/langs/ka_GE/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/ka_GE/projects.lang +++ b/htdocs/langs/ka_GE/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ka_GE/receiptprinter.lang b/htdocs/langs/ka_GE/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/ka_GE/receiptprinter.lang +++ b/htdocs/langs/ka_GE/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ka_GE/stripe.lang b/htdocs/langs/ka_GE/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/ka_GE/stripe.lang +++ b/htdocs/langs/ka_GE/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ka_GE/users.lang b/htdocs/langs/ka_GE/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/ka_GE/users.lang +++ b/htdocs/langs/ka_GE/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/ka_GE/website.lang b/htdocs/langs/ka_GE/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/ka_GE/website.lang +++ b/htdocs/langs/ka_GE/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/km_KH/blockedlog.lang b/htdocs/langs/km_KH/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/km_KH/blockedlog.lang +++ b/htdocs/langs/km_KH/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/km_KH/main.lang b/htdocs/langs/km_KH/main.lang index d597668081d..e35d169066d 100644 --- a/htdocs/langs/km_KH/main.lang +++ b/htdocs/langs/km_KH/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/kn_IN/admin.lang b/htdocs/langs/kn_IN/admin.lang index a58d8721b90..99ac4fe564d 100644 --- a/htdocs/langs/kn_IN/admin.lang +++ b/htdocs/langs/kn_IN/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/kn_IN/bills.lang b/htdocs/langs/kn_IN/bills.lang index fa99a0c04f2..634599d74e4 100644 --- a/htdocs/langs/kn_IN/bills.lang +++ b/htdocs/langs/kn_IN/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/kn_IN/blockedlog.lang b/htdocs/langs/kn_IN/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/kn_IN/blockedlog.lang +++ b/htdocs/langs/kn_IN/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/kn_IN/cashdesk.lang b/htdocs/langs/kn_IN/cashdesk.lang index 62081b8ef1a..0b220155882 100644 --- a/htdocs/langs/kn_IN/cashdesk.lang +++ b/htdocs/langs/kn_IN/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/kn_IN/companies.lang b/htdocs/langs/kn_IN/companies.lang index 0affa46d9a7..a327eeb7562 100644 --- a/htdocs/langs/kn_IN/companies.lang +++ b/htdocs/langs/kn_IN/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted="%s" ಸಂಸ್ಥೆಯನ್ನು ಡೇಟಾಬೇಸ್- ListOfContacts=ಸಂಪರ್ಕಗಳ / ವಿಳಾಸಗಳ ಪಟ್ಟಿ ListOfContactsAddresses=ಸಂಪರ್ಕಗಳ / ವಿಳಾಸಗಳ ಪಟ್ಟಿ ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=ಸಂಪರ್ಕವನ್ನು ತೋರಿಸಿ ContactsAllShort=ಎಲ್ಲಾ (ಸೋಸಿಲ್ಲದ) ContactType=ಸಂಪರ್ಕದ ಮಾದರಿ @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/kn_IN/compta.lang b/htdocs/langs/kn_IN/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/kn_IN/compta.lang +++ b/htdocs/langs/kn_IN/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/kn_IN/errors.lang b/htdocs/langs/kn_IN/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/kn_IN/errors.lang +++ b/htdocs/langs/kn_IN/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/kn_IN/install.lang b/htdocs/langs/kn_IN/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/kn_IN/install.lang +++ b/htdocs/langs/kn_IN/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/kn_IN/link.lang b/htdocs/langs/kn_IN/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/kn_IN/link.lang +++ b/htdocs/langs/kn_IN/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/kn_IN/mails.lang b/htdocs/langs/kn_IN/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/kn_IN/mails.lang +++ b/htdocs/langs/kn_IN/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/kn_IN/main.lang b/htdocs/langs/kn_IN/main.lang index ebb3f3e0ccc..1bc3ff31efb 100644 --- a/htdocs/langs/kn_IN/main.lang +++ b/htdocs/langs/kn_IN/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/kn_IN/other.lang b/htdocs/langs/kn_IN/other.lang index 90f8adbf270..4f4d283f203 100644 --- a/htdocs/langs/kn_IN/other.lang +++ b/htdocs/langs/kn_IN/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=ಶೀರ್ಷಿಕೆ WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/kn_IN/products.lang b/htdocs/langs/kn_IN/products.lang index c5321165f68..cea4640f10b 100644 --- a/htdocs/langs/kn_IN/products.lang +++ b/htdocs/langs/kn_IN/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/kn_IN/projects.lang b/htdocs/langs/kn_IN/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/kn_IN/projects.lang +++ b/htdocs/langs/kn_IN/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/kn_IN/receiptprinter.lang b/htdocs/langs/kn_IN/receiptprinter.lang index 3df49b9fe67..ac21f079a24 100644 --- a/htdocs/langs/kn_IN/receiptprinter.lang +++ b/htdocs/langs/kn_IN/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=ರಾಜಧಾನಿ +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/kn_IN/stripe.lang b/htdocs/langs/kn_IN/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/kn_IN/stripe.lang +++ b/htdocs/langs/kn_IN/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/kn_IN/users.lang b/htdocs/langs/kn_IN/users.lang index bb9041b3ef0..535d745855e 100644 --- a/htdocs/langs/kn_IN/users.lang +++ b/htdocs/langs/kn_IN/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/kn_IN/website.lang b/htdocs/langs/kn_IN/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/kn_IN/website.lang +++ b/htdocs/langs/kn_IN/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index 1e621b02c71..6ae752012ad 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=PHP 설정에서 한도가 설정되어 있지 않습니다. MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=율 LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ko_KR/bills.lang b/htdocs/langs/ko_KR/bills.lang index 1389aa363a0..a00d26ae67d 100644 --- a/htdocs/langs/ko_KR/bills.lang +++ b/htdocs/langs/ko_KR/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ko_KR/blockedlog.lang b/htdocs/langs/ko_KR/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/ko_KR/blockedlog.lang +++ b/htdocs/langs/ko_KR/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/ko_KR/cashdesk.lang b/htdocs/langs/ko_KR/cashdesk.lang index 511362e9858..503a4395ecf 100644 --- a/htdocs/langs/ko_KR/cashdesk.lang +++ b/htdocs/langs/ko_KR/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=브라우저 BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ko_KR/companies.lang b/htdocs/langs/ko_KR/companies.lang index 5cb68afba05..85c206ffc06 100644 --- a/htdocs/langs/ko_KR/companies.lang +++ b/htdocs/langs/ko_KR/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=회사 "%s"이 (가) 데이터베이스에서 삭제되었습니 ListOfContacts=연락처 / 주소 목록 ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=연락처 표시 ContactsAllShort=모두 (필터 없음) ContactType=연락처 유형 @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=영업 담당자의 이름 SaleRepresentativeLastname=영업 대표자 성 ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/ko_KR/compta.lang b/htdocs/langs/ko_KR/compta.lang index 9e8160c0704..025d45b7e1e 100644 --- a/htdocs/langs/ko_KR/compta.lang +++ b/htdocs/langs/ko_KR/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index 20cdefbe16d..34634c92c71 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ko_KR/link.lang b/htdocs/langs/ko_KR/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/ko_KR/link.lang +++ b/htdocs/langs/ko_KR/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/ko_KR/mails.lang b/htdocs/langs/ko_KR/mails.lang index afe98d7ed4b..fb9f072a3a9 100644 --- a/htdocs/langs/ko_KR/mails.lang +++ b/htdocs/langs/ko_KR/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index 986c5c916be..76bd10ca370 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=연결 테스트 ToClone=클론 +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=복제 할 데이터가 없습니다. Of=의 @@ -829,6 +830,8 @@ Gender=성별 Genderman=남자 Genderwoman=여자 ViewList=목록 보기 +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=필수 Hello=안녕하세요 GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/ko_KR/other.lang b/htdocs/langs/ko_KR/other.lang index 24e4152e9ad..d934e284774 100644 --- a/htdocs/langs/ko_KR/other.lang +++ b/htdocs/langs/ko_KR/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=표제 WEBSITE_DESCRIPTION=기술 WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index ad79ba5ae2b..e7309818946 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index e5105fe3c87..1c20f4ddeb2 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=관련 항목 ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ko_KR/receiptprinter.lang b/htdocs/langs/ko_KR/receiptprinter.lang index 3df49b9fe67..49abd29dafe 100644 --- a/htdocs/langs/ko_KR/receiptprinter.lang +++ b/htdocs/langs/ko_KR/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=자본 +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ko_KR/stripe.lang b/htdocs/langs/ko_KR/stripe.lang index 6add4873669..5b2b5f98857 100644 --- a/htdocs/langs/ko_KR/stripe.lang +++ b/htdocs/langs/ko_KR/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ko_KR/users.lang b/htdocs/langs/ko_KR/users.lang index f4dcb5f7033..5fdb9913777 100644 --- a/htdocs/langs/ko_KR/users.lang +++ b/htdocs/langs/ko_KR/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/ko_KR/website.lang b/htdocs/langs/ko_KR/website.lang index 25eaff691b1..e206a0172b2 100644 --- a/htdocs/langs/ko_KR/website.lang +++ b/htdocs/langs/ko_KR/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/lo_LA/admin.lang b/htdocs/langs/lo_LA/admin.lang index 73c0b921f6f..e5ec3641e2e 100644 --- a/htdocs/langs/lo_LA/admin.lang +++ b/htdocs/langs/lo_LA/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/lo_LA/bills.lang b/htdocs/langs/lo_LA/bills.lang index 6d7c61784f7..8c22ce0159a 100644 --- a/htdocs/langs/lo_LA/bills.lang +++ b/htdocs/langs/lo_LA/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/lo_LA/blockedlog.lang b/htdocs/langs/lo_LA/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/lo_LA/blockedlog.lang +++ b/htdocs/langs/lo_LA/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/lo_LA/cashdesk.lang b/htdocs/langs/lo_LA/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/lo_LA/cashdesk.lang +++ b/htdocs/langs/lo_LA/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/lo_LA/companies.lang b/htdocs/langs/lo_LA/companies.lang index baead90af58..f9972f0f228 100644 --- a/htdocs/langs/lo_LA/companies.lang +++ b/htdocs/langs/lo_LA/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/lo_LA/compta.lang b/htdocs/langs/lo_LA/compta.lang index c5e026448e8..b4eb327c94d 100644 --- a/htdocs/langs/lo_LA/compta.lang +++ b/htdocs/langs/lo_LA/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/lo_LA/errors.lang b/htdocs/langs/lo_LA/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/lo_LA/errors.lang +++ b/htdocs/langs/lo_LA/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/lo_LA/install.lang b/htdocs/langs/lo_LA/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/lo_LA/install.lang +++ b/htdocs/langs/lo_LA/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/lo_LA/link.lang b/htdocs/langs/lo_LA/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/lo_LA/link.lang +++ b/htdocs/langs/lo_LA/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/lo_LA/mails.lang b/htdocs/langs/lo_LA/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/lo_LA/mails.lang +++ b/htdocs/langs/lo_LA/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/lo_LA/main.lang b/htdocs/langs/lo_LA/main.lang index 84d0e2276d8..f8dfd03a55c 100644 --- a/htdocs/langs/lo_LA/main.lang +++ b/htdocs/langs/lo_LA/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/lo_LA/other.lang b/htdocs/langs/lo_LA/other.lang index ccef8b33fa1..7141983af57 100644 --- a/htdocs/langs/lo_LA/other.lang +++ b/htdocs/langs/lo_LA/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/lo_LA/products.lang b/htdocs/langs/lo_LA/products.lang index d88c27272d9..a34414a263d 100644 --- a/htdocs/langs/lo_LA/products.lang +++ b/htdocs/langs/lo_LA/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/lo_LA/projects.lang b/htdocs/langs/lo_LA/projects.lang index 67d0d2f744e..494e4317bf2 100644 --- a/htdocs/langs/lo_LA/projects.lang +++ b/htdocs/langs/lo_LA/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/lo_LA/receiptprinter.lang b/htdocs/langs/lo_LA/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/lo_LA/receiptprinter.lang +++ b/htdocs/langs/lo_LA/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/lo_LA/stripe.lang b/htdocs/langs/lo_LA/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/lo_LA/stripe.lang +++ b/htdocs/langs/lo_LA/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/lo_LA/users.lang b/htdocs/langs/lo_LA/users.lang index 78fc1a3486d..b6bd125449d 100644 --- a/htdocs/langs/lo_LA/users.lang +++ b/htdocs/langs/lo_LA/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/lo_LA/website.lang b/htdocs/langs/lo_LA/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/lo_LA/website.lang +++ b/htdocs/langs/lo_LA/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 5235e157377..bd85f3830b6 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=PHP konfiguracijoje ribos nepritaikytos MaxSizeForUploadedFiles=Didžiausias įkeliamo failo dydis (0 - uždrausti betkokius įkėlimus) UseCaptchaCode=Prisijungimo puslapyje naudoti grafinį kodą (CAPTCHA) -AntiVirusCommand= Pilnas maršrutas iki antivirusinės programos komandos -AntiVirusCommandExample= ClamWin pavyzdys: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    ClamAv pavyzdys: /usr/bin/clamscan +AntiVirusCommand=Pilnas maršrutas iki antivirusinės programos komandos +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Daugiau parametrų komandinėje eilutėje -AntiVirusParamExample= ClamWin pavyzdys: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Apskaitos modulio nustatymai UserSetup=Vartotojo valdymo nustatymai MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funkcija išjungta demo versijoje FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Rodomi tik elementai iš leidžiami moduliai. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Aktyvavimą įjungti @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Palikti tuščią norint naudoti reikšmę pagal nutylėji DefaultLink=Nustatytoji nuoroda SetAsDefault=Set as default ValueOverwrittenByUserSetup=Įspėjimas, ši reikšmė gali būti perrašyta pagal vartotojo specifines nuostatas (kiekvienas vartotojas gali nustatyti savo clicktodial URL) -ExternalModule=Išorinis modulis - Įdiegtas kataloge %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Masiniss brūkšninių kodų paleidimas arba atstatymas produktams ar paslaugoms CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regionai DictionaryCountry=Šalys DictionaryCurrency=Valiutos -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=PVM tarifai ar Pardavimo mokesčio tarifai @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Norma LocalTax1IsNotUsed=Nenaudokite antro mokesčio LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Pagal nutylėjimą siūloma IRPF yra 0. Taisyklės pabaiga. LocalTax2IsUsedExampleES=Ispanijoje, laisvai samdomi ir nepriklausomi specialistai, kurie teikia paslaugas ir įmonės, kurios pasirinko modulių mokesčių sistemą. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Ataskaitos apie vietinius mokesčius CalcLocaltax1=Pardavimai - Pirkimai CalcLocaltax1Desc=Vietinių mokesčių ataskaitos apskaičiuojamas kaip skirtumas tarp pardavimo vietinių mokesčių ir pirkimo vietinių mokesčių @@ -1018,6 +1025,7 @@ CalcLocaltax2=Pirkimai CalcLocaltax2Desc=Vietinių mokesčių ataskaitos yra pirkimo vietinių mokesčių suma iš viso CalcLocaltax3=Pardavimai CalcLocaltax3Desc=Vietinių mokesčių ataskaitos yra pardavimo vietinių mokesčių suma iš viso +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etiketė naudojamas pagal nutylėjimą, jei kodui nerandamas vertimas LabelOnDocuments=Dokumentų etiketė LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Saugumo audito įvykiai Audit=Auditas @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Sistemos informacija yra įvairi techninė informacija, kurią gausite tik skaitymo režimu, ir bus matoma tik sistemos administratoriams. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Vartotojų modulio nuostatos UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Sąskaitų-faktūrų dokumentų moduliai BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Sąskaitos-faktūros data įsigalioja patvirtinimo datą -SuggestedPaymentModesIfNotDefinedInInvoice=Siūlomas mokėjimų režimas sąskaitoje-faktūroje pagal nutylėjimą, jei pačioje sąskaitoje nėra apibrėžta kitaip +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Laisvos formos tekstas sąskaitoje-faktūroje @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Komercinių pasiūlymų modulio nuostatos ProposalsNumberingModules=Komercinių pasiūlymų numeracijos modeliai ProposalsPDFModules=Komercinio pasiūlymo dokumentų modeliai -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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=Klausti pasiūlyme esančios banko sąskaitos paskirties @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Užsakymų numeracijos modeliai OrdersModelModule=Užsakymo dokumentų modeliai @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/lt_LT/bills.lang b/htdocs/langs/lt_LT/bills.lang index 484eff26861..89e47957999 100644 --- a/htdocs/langs/lt_LT/bills.lang +++ b/htdocs/langs/lt_LT/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=tiekėjų sąskaitos-faktūros Payment=Mokėjimas -PaymentBack=Mokėjimas atgal (grąžinimas) -CustomerInvoicePaymentBack=Mokėjimas atgal (grąžinimas) +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Mokėjimai PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Sumokėta atgal (grąžinta) DeletePayment=Ištrinti mokėjimą ConfirmDeletePayment=Ar tikrai norite ištrinti šį mokėjimą? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Gauti mokėjimai @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Mokėti ToMakePaymentBack=Grąžinti ListOfYourUnpaidInvoices=Sąrašas neapmokėtų sąskaitų-faktūrų NoteListOfYourUnpaidInvoices=Pastaba: Šis sąrašas rodo tik sąskaitas trečiosioms šalims, su kuriom Jūs susijęs kaip prekybos atstovas. -RevenueStamp=Įplaukų rūšis +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Grąžinimo numeris formatu %syymm-nnnn standartinėms sąskaitoms-faktūroms ir %syymm-nnnn kreditinėms sąskaitoms, kur yy yra metai, mm mėnuo ir nnnn yra seka be pertrūkių ir be grįžimo į 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Nustatykite paslaugų eilutės pabaigos datą su kita sąskaitos AutoFillDateToShort=Nustatykite pabaigos datą MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/lt_LT/blockedlog.lang b/htdocs/langs/lt_LT/blockedlog.lang index a24007b6783..0bb5b261bc1 100644 --- a/htdocs/langs/lt_LT/blockedlog.lang +++ b/htdocs/langs/lt_LT/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/lt_LT/cashdesk.lang b/htdocs/langs/lt_LT/cashdesk.lang index 09f43efab79..c78fbe486a8 100644 --- a/htdocs/langs/lt_LT/cashdesk.lang +++ b/htdocs/langs/lt_LT/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Pridėti šią prekę RestartSelling=Eiti atgal į pardavimą SellFinished=Pardavimas baigtas PrintTicket=Spausdinti užsakymą +SendTicket=Send ticket NoProductFound=Prekė nerasta ProductFound=Produktas rastas NoArticle=Nėra prekės @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Sąskaitų-faktūrų skaičius Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Naršyklė BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/lt_LT/companies.lang b/htdocs/langs/lt_LT/companies.lang index 0a2959a9409..15368db9c20 100644 --- a/htdocs/langs/lt_LT/companies.lang +++ b/htdocs/langs/lt_LT/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Įmonė "%s" ištrinta iš duomenų bazės. ListOfContacts=Kontaktų/adresų sąrašas ListOfContactsAddresses=Kontaktų/adresų sąrašas ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Rodyti kontaktus ContactsAllShort=Visi (nėra filtro) ContactType=Kontakto tipas @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/lt_LT/compta.lang b/htdocs/langs/lt_LT/compta.lang index 96ffced295c..d645b4e329e 100644 --- a/htdocs/langs/lt_LT/compta.lang +++ b/htdocs/langs/lt_LT/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Sumos rodomos su įtrauktais mokesčiais -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index ac450e42bec..f1e9b03723b 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Failas pilnai negautas serveryje. ErrorNoTmpDir=Laikinas aplankas %s neegzistuoja. ErrorUploadBlockedByAddon=Įkėlimas užblokuotas PHP/Apache įskiepio. ErrorFileSizeTooLarge=Failo dydis yra per didelis. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Per didelis vidiniam tipui (maksimalus skaitmenų kiekis %s) ErrorSizeTooLongForVarcharType=Per didelis eilutės tipui (maksimalus simbolių skaičius %s) ErrorNoValueForSelectType=Prašome užpildyti reikšmę pasirinkitam sąrašui @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index 5ad9f6bfb01..aee5facec48 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Jūsų PHP maksimali sesijos atmintis yra nustatyta į %s. To turėtų būti pakankamai. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Katalogas %s neegzistuoja. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/lt_LT/link.lang b/htdocs/langs/lt_LT/link.lang index b798330c3e2..c9e19c70173 100644 --- a/htdocs/langs/lt_LT/link.lang +++ b/htdocs/langs/lt_LT/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Nesėkmingas sąsajos '%s' atnaujinimas URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/lt_LT/mails.lang b/htdocs/langs/lt_LT/mails.lang index 87a8dea5bab..ac1348c61ed 100644 --- a/htdocs/langs/lt_LT/mails.lang +++ b/htdocs/langs/lt_LT/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informacija ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index 558131a942e..a102b3af53d 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Bandyti sujungimą ToClone=Klonuoti +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Nėra apibrėžtų duomenų klonavimui. Of=iš @@ -829,6 +830,8 @@ Gender=Gender Genderman=Vyras Genderwoman=Moteris ViewList=Sąrašo vaizdas +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Sveiki ! GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/lt_LT/other.lang b/htdocs/langs/lt_LT/other.lang index 7a2750bca0b..eb5f8859117 100644 --- a/htdocs/langs/lt_LT/other.lang +++ b/htdocs/langs/lt_LT/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Pavadinimas WEBSITE_DESCRIPTION=Aprašymas WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index 1fb2dbf4c7c..1a0255b9370 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Masinė brūkšninio kodo inicializacija MassBarcodeInitDesc=Šis puslapis gali būti naudojamas inicijuoti brūkšninį kodą ant objektų, kurie neturi apibrėžto brūkšninio kodo. Patikrinti, ar modulio brūkšninio kodo nustatymai pilni. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Kilmės šalis -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Vienetas p=u. diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index 34c35aeaf26..088db490d25 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Laikas ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planuojamas darbo krūvis PlannedWorkloadShort=Darbo krūvis ProjectReferers=Related items ProjectMustBeValidatedFirst=Projektas turi būti pirmiausia patvirtintas -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Įvesčių per dieną InputPerWeek=Įvesčių per savaitę InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nauja sąskaita-faktūra OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/lt_LT/receiptprinter.lang b/htdocs/langs/lt_LT/receiptprinter.lang index 5b050642681..23e9083da13 100644 --- a/htdocs/langs/lt_LT/receiptprinter.lang +++ b/htdocs/langs/lt_LT/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Sąskaitos-faktūros nuoroda +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapitalas +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/lt_LT/stripe.lang b/htdocs/langs/lt_LT/stripe.lang index e5888b8ede4..4efacc34103 100644 --- a/htdocs/langs/lt_LT/stripe.lang +++ b/htdocs/langs/lt_LT/stripe.lang @@ -32,6 +32,7 @@ VendorName=Paravėjo vardas CSSUrlForPaymentForm=CSS stiliaus lapo URL mokėjimo formai NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/lt_LT/users.lang b/htdocs/langs/lt_LT/users.lang index c82858ffed6..9bafc72c0b5 100644 --- a/htdocs/langs/lt_LT/users.lang +++ b/htdocs/langs/lt_LT/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domeno Vartotojas %s Reactivate=Atgaivinti CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Leidimas suteiktas, nes paveldėtas iš vieno grupės vartotojų Inherited=Paveldėtas UserWillBeInternalUser=Sukurtas vartotojas bus vidinis vartotojas (nes nėra susietas su konkrečia trečiąja šalimi) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/lt_LT/website.lang b/htdocs/langs/lt_LT/website.lang index 41607804802..7b50688fee0 100644 --- a/htdocs/langs/lt_LT/website.lang +++ b/htdocs/langs/lt_LT/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index d9ca5d4a47d..9ebc336d896 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Piezīme: jūsu PHP konfigurācija pašlaik ierob NoMaxSizeByPHPLimit=Piezīme: Nav limits tiek noteikts jūsu PHP konfigurācijā MaxSizeForUploadedFiles=Maksimālais augšupielādējamo failu izmērs (0 nepieļaut failu augšupielādi) UseCaptchaCode=Izmantot grafisko kodu (CAPTCHA) pieteikšanās lapā -AntiVirusCommand= Pilns ceļš antivīrusa komandai -AntiVirusCommandExample= Piemēram ClamWin: C:\\PROGRA~1\\ClamWin\\bin\\clamscan.exe
    Piemēram ClamAV: /usr/bin/clamscan +AntiVirusCommand=Pilns ceļš antivīrusa komandai +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Papildus komandrindas parametri -AntiVirusParamExample= Piemērs ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Uzskaites moduļa iestatīšana UserSetup=Lietotāju pārvaldības iestatīšana MultiCurrencySetup=Daudzvalūtu iestatījumi @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Iespēja bloķēta demo versijā FeatureAvailableOnlyOnStable=Funkcija ir pieejama tikai oficiālajā stabilā versijā BoxesDesc=Logrīki ir sastāvdaļas, kas parāda informāciju, kuru varat pievienot, lai personalizētu dažas lapas. Varat izvēlēties starp widget parādīšanu, izvēloties mērķa lapu un noklikšķinot uz Aktivizēt, vai noklikšķinot uz atkritnes, lai to atspējotu. OnlyActiveElementsAreShown=Tikai elementi no iespējotiem moduļiem tiek rādīti. -ModulesDesc=Moduļi / lietojumprogrammas nosaka, kādas funkcijas ir pieejamas programmatūrā. Daži moduļi pieprasa atļauju lietotājiem pēc moduļa aktivizēšanas. Noklikšķiniet uz ieslēgšanas / izslēgšanas pogas (moduļa beigās), lai iespējotu / atspējotu moduli / programmu. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Jūs varat atrast vairāk moduļu, lai lejupielādētu ārējās tīmekļa vietnēs internetā ... ModulesDeployDesc=Ja atļaujas jūsu failu sistēmā to atļauj, varat izmantot šo rīku, lai izvietotu ārēju moduli. Tad modulis būs redzams cilnē %s . ModulesMarketPlaces=Atrastt ārējo lietotni / moduļus @@ -212,6 +212,7 @@ CompatibleUpTo=Savietojams ar versiju %s NotCompatible=Šis modulis, šķiet, nav savietojams ar jūsu Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Šis modulis prasa atjaunināt Dolibarr %s (Min %s - Maks %s). SeeInMarkerPlace=Skatiet Marketplace +SeeSetupOfModule=See setup of module %s Updated=Atjaunots Nouveauté=Jaunums AchatTelechargement=Pirkt / lejupielādēt @@ -221,6 +222,7 @@ DoliPartnersDesc=Uzņēmumi, kas piedāvā pielāgotus izstrādātus moduļus va WebSiteDesc=Ārējās vietnes vairākiem papildinājumiem (bez kodols) moduļiem ... DevelopYourModuleDesc=Daži risinājumi, lai izstrādātu savu moduli ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Pieejamie logrīki BoxesActivated=Logrīki aktivizēti ActivateOn=Aktivizēt @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Saglabājiet tukšu, lai izmantotu noklusēto vērtību DefaultLink=Noklusējuma saite SetAsDefault=Iestatīt kā noklusējumu ValueOverwrittenByUserSetup=Uzmanību, šī vērtība var pārrakstīt ar lietotāja konkrētu uzstādīšanu (katrs lietotājs var iestatīt savu klikšķini lai zvanītu URL) -ExternalModule=Ārējais modulis - Instalēts direktorijā %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Masveida svītru kodu veidošana trešajām personām BarcodeInitForProductsOrServices=Masveida svītrkodu veidošana produktu vai pakalpojumu atiestatīšana CurrentlyNWithoutBarCode=Pašlaik jums ir %s ierakstu %s %s bez definēta svītrukoda. @@ -947,7 +950,7 @@ DictionaryCanton=Valstis/provinces DictionaryRegion=Reģions DictionaryCountry=Valstis DictionaryCurrency=Valūtas -DictionaryCivility=Pilsonības nosaukums +DictionaryCivility=Honorific titles DictionaryActions=Darba kārtības pasākumu veidi DictionarySocialContributions=Sociālo vai nodokļu nodokļu veidi DictionaryVAT=PVN likmes vai pārdošanas procentu likmes @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Pēc noklusējuma piedāvātais pārdošanas nodoklis ir 0, ko VATIsUsedExampleFR=Francijā tas nozīmē uzņēmumus vai organizācijas, kurām ir reāla fiskālā sistēma (vienkāršota reāla vai reāla). Sistēma, kurā izmanto PVN. VATIsNotUsedExampleFR=Francijā tas nozīmē asociācijas, kas nav deklarētas par tirdzniecības nodokli, vai uzņēmumi, organizācijas vai brīvās profesijas, kas izvēlējušās mikrouzņēmumu fiskālo sistēmu (pārdošanas nodoklis franšīzē) un samaksājuši franšīzes pārdošanas nodokli bez pārdošanas nodokļa deklarācijas. Ar šo izvēli rēķinos būs redzama atsauce "Nav piemērojams pārdošanas nodoklis - CGI 293.B pants". ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Likme LocalTax1IsNotUsed=Nelietot otru nodokli LocalTax1IsUsedDesc=Izmantojiet otra veida nodokļus (izņemot pirmo) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=IRPF likme pēc noklusējuma, veidojot izredzes, rēķinus LocalTax2IsNotUsedDescES=Pēc noklusējuma ierosinātā IRPF ir 0. Beigas varu. LocalTax2IsUsedExampleES=Spānijā, ārštata un neatkarīgi profesionāļi, kas sniedz pakalpojumus un uzņēmumiem, kuri ir izvēlējušies nodokļu sistēmu moduļus. LocalTax2IsNotUsedExampleES=Spānijā šie uzņēmumi nav pakļauti moduļu nodokļu sistēmai. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Ziņojumi par vietējiem nodokļiem CalcLocaltax1=Pārdošana - pirkumi CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Pirkumi CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Pārdošanas CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label izmantots pēc noklusējuma, ja nav tulkojuma var atrast kodu LabelOnDocuments=Dokumentu marķējums LabelOrTranslationKey=Uzlīme vai tulkošanas taustiņš @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Izdevumu pārskats kurš jāapstiprina Delays_MAIN_DELAY_HOLIDAYS=Atstājiet lūgumus apstiprināt SetupDescription1=Pirms sākat lietot Dolibarr, jānosaka daži sākotnējie parametri un moduļi ir iespējoti / konfigurēti. SetupDescription2=Šīs divas sadaļas ir obligātas (divi pirmie ieraksti iestatīšanas izvēlnē): -SetupDescription3=  %s -> %s
    Pamata parametri, ko izmanto, lai pielāgotu lietojumprogrammas noklusējuma uzvedību (piem., Valstij raksturīgās funkcijas). -SetupDescription4=  %s -> %s
    Šī programmatūra ir daudzu moduļu / programmu komplekts, kas ir vairāk vai mazāk neatkarīgi. Moduļiem, kas atbilst jūsu vajadzībām, jābūt iespējotiem un konfigurētiem. Jaunie vienumi / opcijas tiek pievienotas izvēlnēm, aktivizējot moduli. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Citi iestatījumu izvēlnes ieraksti pārvalda izvēles parametrus. LogEvents=Drošības audita notikumi Audit=Audits @@ -1128,7 +1136,7 @@ LogEventDesc=Iespējot konkrētu drošības notikumu reģistrēšanu. Administra AreaForAdminOnly=Iestatīšanas parametrus var iestatīt tikai administratora lietotāji . SystemInfoDesc=Sistēmas informācija ir dažādi tehniskā informācija jums tikai lasīšanas režīmā un redzama tikai administratoriem. SystemAreaForAdminOnly=Šī sadaļa ir pieejama tikai administratora lietotājiem. Dolibarr lietotāja atļaujas nevar mainīt šo ierobežojumu. -CompanyFundationDesc=Rediģējiet uzņēmuma / vienības informāciju. Lapas apakšā noklikšķiniet uz pogas "%s". +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Ja jums ir ārējais grāmatvedis / grāmatvedis, varat rediģēt šeit savu informāciju. AccountantFileNumber=Grāmatveža kods DisplayDesc=Šeit var mainīt parametrus, kas ietekmē Dolibarr izskatu un uzvedību. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Noteikumi paroļu ģenerēšanai un apstiprināšanai DisableForgetPasswordLinkOnLogonPage=Nerādīt saiti "Aizmirsta parole" pieteikšanās lapā UsersSetup=Lietotāju moduļa uzstādīšana UserMailRequired=Lai izveidotu jaunu lietotāju, nepieciešams e-pasts +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM moduļa iestatīšana ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Rēķina dokumentu modeļi BillsPDFModulesAccordindToInvoiceType=Rēķinu dokumentu modeļi atbilstoši rēķina veidam PaymentsPDFModules=Maksājumu dokumentu paraugi ForceInvoiceDate=Force rēķina datumu apstiprināšanas datuma -SuggestedPaymentModesIfNotDefinedInInvoice=Ieteicamie maksājumi režīmā rēķinā pēc noklusējuma, ja nav definēts rēķins +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Iesakiet norēķinu ar norēķinu kontu SuggestPaymentByChequeToAddress=Ieteikt maksājumu ar čeku uz FreeLegalTextOnInvoices=Brīvs teksts uz rēķiniem @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Pārdevēja maksājumu iestatīšana PropalSetup=Commercial priekšlikumi modulis uzstādīšana ProposalsNumberingModules=Komerciālie priekšlikumu numerācijas modeļi ProposalsPDFModules=Komerciālie priekšlikumu dokumentu modeļi -SuggestedPaymentModesIfNotDefinedInProposal=Ieteicamais maksājuma režīms pēc piedāvājuma pēc noklusējuma, ja tas nav definēts priekšlikumam +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Pieprasīt noliktavas avotu pasūtīšanai ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Pieprasiet bankas konta galamērķi pirkuma pasūtījumā ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Pārdošanas pasūtījumu pārvaldības iestatīšana OrdersNumberingModules=Pasūtījumu numerācijas modeļi OrdersModelModule=Pasūtīt dokumenti modeļi @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Brīdinājums, augstākas vērtības pa ModuleActivated=Modulis %s ir aktivizēts un palēnina saskarni EXPORTS_SHARE_MODELS=Eksporta modeļi ir kopīgi ar visiem ExportSetup=Moduļa Eksportēšana iestatīšana +ImportSetup=Setup of module Import InstanceUniqueID=Unikāls gadījuma ID SmallerThan=Mazāks nekā LargerThan=Lielāks nekā @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Izveidojiet anonīmu Ping '+1' Dolibarr pamata serverim (to ve FeatureNotAvailableWithReceptionModule=Funkcija nav pieejama, ja ir iespējota moduļa uztveršana EmailTemplate=E-pasta veidne EMailsWillHaveMessageID=E-pastam būs tags “Atsauces”, kas atbilst šai sintaksei -PDF_USE_ALSO_LANGUAGE_CODE=Ja vēlaties, lai jūsu PDF failā kāds teksta nosaukums tiktu dublēts 2 dažādās valodās tajā pašā ģenerētajā PDF failā, jums šeit ir jāiestata šī otrā valoda, lai ģenerētais PDF saturētu vienā un tajā pašā lappusē 2 dažādas valodas, vienu izvēloties, ģenerējot PDF, un šo, vienu (tikai dažas PDF veidnes to atbalsta). Vienā PDF formātā atstājiet tukšumu 1 valodā. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Šeit ievadiet FontAwesome ikonas kodu. Ja jūs nezināt, kas ir FontAwesome, varat izmantot vispārīgo vērtību fa-adrešu grāmata. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index 3e9b4eec377..677a2029051 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -59,16 +59,16 @@ SupplierBill=Piegādātāja rēķins SupplierBills=piegādātāju rēķini Payment=Maksājums PaymentBack=Atmaksa -CustomerInvoicePaymentBack=Maksājumu atpakaļ +CustomerInvoicePaymentBack=Atmaksa Payments=Maksājumi PaymentsBack=Atmaksas paymentInInvoiceCurrency=rēķinu valūtā PaidBack=Atmaksāts atpakaļ DeletePayment=Izdzēst maksājumu ConfirmDeletePayment=Vai tiešām vēlaties dzēst šo maksājumu? -ConfirmConvertToReduc=Vai vēlaties konvertēt šo %s par absolūto atlaidi? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Summa tiks saglabāta starp visām atlaidēm un to var izmantot kā atlaidi pašreizējam vai nākotnes rēķinam par šo klientu. -ConfirmConvertToReducSupplier=Vai vēlaties konvertēt šo %s par absolūto atlaidi? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=Summa tiks saglabāta starp visām atlaidēm un to var izmantot kā atlaidi pašreizējam vai nākamajam rēķinam par šo pārdevēju. SupplierPayments=Pārdevēja maksājumi ReceivedPayments=Saņemtie maksājumi @@ -219,7 +219,10 @@ ShowInvoiceSituation=Rādīt situāciju rēķinu UseSituationInvoices=Atļaut rēķinu par situāciju UseSituationInvoicesCreditNote=Atļaut situācijas rēķina kredītvēstuli Retainedwarranty=Saglabāta garantija +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Saglabātais garantijas noklusējuma procents +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Maksāt %s toPayOn=maksāt pa tālruni %s RetainedWarranty=Saglabātā garantija @@ -509,11 +512,11 @@ ToMakePayment=Maksāt ToMakePaymentBack=Atmaksāt ListOfYourUnpaidInvoices=Saraksts ar neapmaksātiem rēķiniem NoteListOfYourUnpaidInvoices=Piezīme: Šis saraksts satur tikai rēķinus par trešo pušu Jums ir saistīti ar kā pārdošanas pārstāvis. -RevenueStamp=Ieņēmumu zīmogs +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Šī opcija ir pieejama tikai tad, ja izveidojat rēķinu no trešās personas cilnes "Klients" YouMustCreateInvoiceFromSupplierThird=Šī opcija ir pieejama tikai tad, ja izveidojat rēķinu no trešās puses cilnes „Pārdevējs” YouMustCreateStandardInvoiceFirstDesc=Vispirms vispirms jāizveido standarta rēķins un jāpārveido tas par "veidni", lai izveidotu jaunu veidnes rēķinu -PDFCrabeDescription=Rēķina PDF veidne Krabis. Pilna rēķina veidne (vecā Sponge veidnes ieviešana) +PDFCrabeDescription=Rēķina PDF veidne Krabis. Pilna rēķina veidne PDFSpongeDescription=Rēķina PDF veidne Sponge. Pilnīga rēķina veidne PDFCrevetteDescription=Rēķina PDF veidne Crevette. Pabeigta rēķina veidne situāciju rēķiniem TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Iestatīt pakalpojuma līnijas beigu datumu ar nākamo rēķina d AutoFillDateToShort=Iestatīt beigu datumu MaxNumberOfGenerationReached=Maksimālais gen. sasniedza BILL_DELETEInDolibarr=Rēķins dzēsts +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/lv_LV/blockedlog.lang b/htdocs/langs/lv_LV/blockedlog.lang index c4b286ab723..237dac224bc 100644 --- a/htdocs/langs/lv_LV/blockedlog.lang +++ b/htdocs/langs/lv_LV/blockedlog.lang @@ -5,10 +5,10 @@ Fingerprints=Arhivēti notikumi un pirkstu nospiedumi FingerprintsDesc=Šis ir rīks, lai pārlūkotu vai izvelētu nemainīgus žurnālus. Nemaināmie žurnāli tiek ģenerēti un lokāli arhivēti īpašajā tabulā, reāllaikā, kad ieraksta biznesa notikumu. Varat izmantot šo rīku, lai eksportētu šo arhīvu un saglabātu to ārējam atbalstam (dažas valstis, piemēram, Francija, lūdz jums to darīt katru gadu). Ņemiet vērā, ka šī žurnāla tīrīšana nav funkcija, un visas izmaiņas, kas tika mēģināt izdarīt tieši šajā žurnālā (piemēram, hacker), tiek ziņotas ar nederīgu pirkstu nospiedumu. Ja jums patiešām ir jāiztīra šī tabula, jo izmantojāt savu pieteikumu demonstrācijas / pārbaudes nolūkam un vēlaties tīrīt savus datus, lai sāktu savu produkciju, varat lūgt savam tālākpārdevējam vai integratoram atjaunot datu bāzi (visas jūsu dati tiks noņemti). CompanyInitialKey=Uzņēmuma sākotnējā atslēga (ģeēzijas bloks) BrowseBlockedLog=Nepārveidojami žurnāli -ShowAllFingerPrintsMightBeTooLong=Rādīt visus arhivētos žurnālus (var būt garš) +ShowAllFingerPrintsMightBeTooLong=Rādīt visus arhivētos žurnālus (var būt daudz) ShowAllFingerPrintsErrorsMightBeTooLong=Rādīt visus nederīgos arhīva žurnālus (var būt garš) DownloadBlockChain=Lejupielādējiet pirkstu nospiedumus -KoCheckFingerprintValidity=Arhivēts žurnāla ieraksts nav derīgs. Tas nozīmē, ka kāds (hakeris?) Pēc tam, kad tas tika ierakstīts, ir mainījis dažus datus, vai arī ir izdzēsis iepriekšējo arhivēto ierakstu (pārbaudiet, vai līnija ir ar iepriekšējo #). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Arhivēts žurnāla ieraksts ir derīgs. Dati par šo līniju netika mainīti un ieraksts seko iepriekšējam. OkCheckFingerprintValidityButChainIsKo=Arhivētais žurnāls šķiet derīgs salīdzinājumā ar iepriekšējo, bet ķēde agrāk tika bojāta. AddedByAuthority=Uzglabāti tālvadības iestādē diff --git a/htdocs/langs/lv_LV/cashdesk.lang b/htdocs/langs/lv_LV/cashdesk.lang index fa71099764a..690e8e84d6f 100644 --- a/htdocs/langs/lv_LV/cashdesk.lang +++ b/htdocs/langs/lv_LV/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Pievienot šo preci RestartSelling=Iet atpakaļ uz pārdošanu SellFinished=Pārdošana pabeigta PrintTicket=Drukāt biļeti +SendTicket=Send ticket NoProductFound=Raksts nav atrasts ProductFound=Produkts atrasts NoArticle=Nav preču @@ -48,6 +49,7 @@ Footer=Kājene AmountAtEndOfPeriod=Summa perioda beigās (diena, mēnesis vai gads) TheoricalAmount=Teorētiskā summa RealAmount=Reālā summa +CashFence=Cash fence CashFenceDone=Naudas žogs veikts par periodu NbOfInvoices=Rēķinu skaits Paymentnumpad=Padeves veids maksājuma ievadīšanai @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS ir nepieciešama produktu kategorija OrderNotes=Pasūtījuma piezīmes CashDeskBankAccountFor=Noklusējuma konts, ko izmantot maksājumiem NoPaimementModesDefined=TakePOS konfigurācijā nav definēts paiment režīms -TicketVatGrouped=Grupējiet PVN pēc likmes biļetēs -AutoPrintTickets=Automātiski drukāt biļetes +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Iespējot bāra vai restorāna funkcijas ConfirmDeletionOfThisPOSSale=Vai jūsu apstiprinājums ir šīs pašreizējās pārdošanas dzēšana? ConfirmDiscardOfThisPOSSale=Vai vēlaties atmest šo pašreizējo izpārdošanu? @@ -87,7 +90,19 @@ HeadBar=Galvene SortProductField=Lauks produktu šķirošanai Browser=Pārlūkprogramma BrowserMethodDescription=Vienkārša un ērta kvīts drukāšana. Tikai daži parametri, lai konfigurētu kvīti. Drukājiet, izmantojot pārlūku. -TakeposConnectorMethodDescription=Ārējs modulis ar papildu funkcijām. Iespēja drukāt no mākoņa. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Drukas metode ReceiptPrinterMethodDescription=Jaudīga metode ar daudziem parametriem. Pilnībā pielāgojams ar veidnēm. Nevar izdrukāt no mākoņa. ByTerminal=Ar termināli +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/lv_LV/companies.lang b/htdocs/langs/lv_LV/companies.lang index 9d1a5d84bce..5f304f004e7 100644 --- a/htdocs/langs/lv_LV/companies.lang +++ b/htdocs/langs/lv_LV/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Kompānija "%s" dzēsta no datubāzes. ListOfContacts=Kontaktu / adrešu saraksts ListOfContactsAddresses=Kontaktu/adrešu saraksts ListOfThirdParties=Trešo personu saraksts -ShowCompany=Rādīt trešo personu ShowContact=Rādīt kontaktu ContactsAllShort=Visi (Bez filtra) ContactType=Kontakta veids @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Tirdzniecības pārstāvja vārds SaleRepresentativeLastname=Tirdzniecības pārstāvja uzvārds ErrorThirdpartiesMerge=Pašalot trešās puses, radās kļūda. Lūdzu, pārbaudiet žurnālu. Izmaiņas ir atgrieztas. NewCustomerSupplierCodeProposed=Klienta vai pārdevēja kods jau ir izmantots, tiek piedāvāts jauns kods +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Maksājuma veids - Klients PaymentTermsCustomer=Maksājuma noteikumi - Klients diff --git a/htdocs/langs/lv_LV/compta.lang b/htdocs/langs/lv_LV/compta.lang index fd3f7210d76..7df0adea9f6 100644 --- a/htdocs/langs/lv_LV/compta.lang +++ b/htdocs/langs/lv_LV/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Skatīt %s maksājumu analīzi %s, lai aprēķinātu SeeReportInDueDebtMode=Skatīt %srēķinu analīzi %s, lai aprēķiniem izmantotu zināmos reģistrētos rēķinus, pat ja tie vēl nav uzskaitīti Virsgrāmatā. SeeReportInBookkeepingMode=Lai skatītu Grāmatvedības grāmatvedības tabulu , skatiet %sBookBooking report%s RulesAmountWithTaxIncluded=- Uzrādītas summas ir ar visiem ieskaitot nodokļus -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- Tas ietver klienta rēķinus par to, vai tie ir samaksāti vai nē.
    - Tas ir balstīts uz šo rēķinu apstiprināšanas datumu.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Tas ietver visus no klientiem saņemto rēķinu faktiskos maksājumus.
    - Tas ir balstīts uz šo rēķinu apmaksas datumu RulesCATotalSaleJournal=Tas ietver visas kredītlīnijas no pārdošanas žurnāla. RulesAmountOnInOutBookkeepingRecord=Tas ietver jūsu Ledger ierakstu ar grāmatvedības kontiem, kuriem ir grupa "IZDEVUMS" vai "IENĀKUMS" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Apgrozījums, par kuru tiek aprēķināta pārdošanas nodokļ TurnoverCollectedbyVatrate=Apgrozījums, kas iegūts, pārdodot nodokli PurchasebyVatrate=Iegāde pēc pārdošanas nodokļa likmes LabelToShow=Īsais nosaukums +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index e60b9218837..91d0f6444b2 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Serveris failu nav saņemis pilnīgi. ErrorNoTmpDir=Pagaidu direktorija %s neeksistē. ErrorUploadBlockedByAddon=Augšupielāde bloķēja ar PHP/Apache spraudni. ErrorFileSizeTooLarge=Faila izmērs ir pārāk liels. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Izmērs ir pārāk garš int tipam (%s cipari maksimums) ErrorSizeTooLongForVarcharType=Izmērs ir pārāk garš (%s simboli maksimums) ErrorNoValueForSelectType=Lūdzu izvēlieties vērtību no saraksta @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Kļūda, tulkotās lapas valoda ErrorBatchNoFoundForProductInWarehouse=Noliktavā "%s" nav atrasta partija / sērija produktam "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Šai partijai/sērijai nav pietiekams daudzums produkta "%s" noliktavā "%s". ErrorOnlyOneFieldForGroupByIsPossible=“Grupēt pēc” ir iespējams tikai 1 lauks (citi tiek atmesti) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Jūsu PHP parametrs upload_max_filesize (%s) ir augstāks nekā PHP parametrs post_max_size (%s). Šī nav konsekventa iestatīšana. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index 4d25eef8309..13f5ab1e7fc 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Šis PHP atbalsta Curl. PHPSupportCalendar=Šis PHP atbalsta kalendāru paplašinājumus. PHPSupportUTF8=Šis PHP atbalsta UTF8 funkcijas. PHPSupportIntl=Šī PHP atbalsta Intl funkcijas. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Šis PHP atbalsta %s funkcijas. PHPMemoryOK=Jūsu PHP maksimālā sesijas atmiņa ir iestatīts uz %s. Tas ir pietiekami. PHPMemoryTooLow=Jūsu PHP max sesijas atmiņa ir iestatīta uz %s baitiem. Tas ir pārāk zems. Mainiet php.ini, lai iestatītu memory_limit parametru vismaz %s baitiem. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Jūsu PHP instalācija neatbalsta Curl. ErrorPHPDoesNotSupportCalendar=Jūsu PHP instalācija neatbalsta php kalendāra paplašinājumus. ErrorPHPDoesNotSupportUTF8=Jūsu PHP instalācija neatbalsta UTF8 funkcijas. Dolibarr nevar darboties pareizi. Atrisiniet to pirms Dolibarr instalēšanas. ErrorPHPDoesNotSupportIntl=Jūsu PHP instalācija neatbalsta Intl funkcijas. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Jūsu PHP instalācija neatbalsta %s funkcijas. ErrorDirDoesNotExists=Katalogs %s neeksistē. ErrorGoBackAndCorrectParameters=Atgriezieties un pārbaudiet/labojiet parametrus. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Pieteikums mēģināja pašupjaunināt, bet insta YouTryInstallDisabledByFileLock=Lietojumprogramma mēģināja pašatjaunināties, bet instalēšanas/atjaunināšanas lapas tika bloķētas drošībai (ar bloķēšanas failu install.lock Dolibarr dokumentu direktorijā).
    ClickHereToGoToApp=Noklikšķiniet šeit, lai pārietu uz savu pieteikumu ClickOnLinkOrRemoveManualy=Noklikšķiniet uz šīs saites. Ja jūs vienmēr redzat šo pašu lapu, dokumenta direktorijā ir jāizņem / jānomaina faila instal.lock. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/lv_LV/link.lang b/htdocs/langs/lv_LV/link.lang index 2f249ac15cf..e649eb2874b 100644 --- a/htdocs/langs/lv_LV/link.lang +++ b/htdocs/langs/lv_LV/link.lang @@ -7,4 +7,5 @@ ErrorFileNotLinked=Failu nevar salinkot LinkRemoved=Saite %s tika dzēsta ErrorFailedToDeleteLink= Kļūda dzēšot saiti '%s' ErrorFailedToUpdateLink= Kļūda atjaunojot saiti '%s' -URLToLink=URL to link +URLToLink=Saites uz URL +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/lv_LV/mails.lang b/htdocs/langs/lv_LV/mails.lang index 0155c024f92..f9c3b411857 100644 --- a/htdocs/langs/lv_LV/mails.lang +++ b/htdocs/langs/lv_LV/mails.lang @@ -18,7 +18,7 @@ MailCCC=Kešatmiņas kopija MailTopic=E-pasta tēma MailText=Ziņa MailFile=Pievienotie faili -MailMessage=E-pasta ķermenis +MailMessage=E-pasta saturs SubjectNotIn=Nav priekšmetā BodyNotIn=Nav ķermenī ShowEMailing=Rādīt e-pastus @@ -97,7 +97,7 @@ SendingFromWebInterfaceIsNotAllowed=Sūtīšana no tīmekļa saskarnes nav atļa LineInFile=Līnija %s failā RecipientSelectionModules=Definētie pieprasījumi saņēmēja izvēles MailSelectedRecipients=Atlasītie saņēmēji -MailingArea=Emailings platība +MailingArea=E-pastu nosūtīšanas sadaļa LastMailings=Jaunākie %s e-pasta ziņojumi TargetsStatistics=Mērķu statistika NbOfCompaniesContacts=Unikālie kontakti/adreses @@ -116,10 +116,10 @@ NbOfEMailingsReceived=Masu emailings saņemti NbOfEMailingsSend=Masveida e-pasts izsūtīts IdRecord=Ieraksta ID DeliveryReceipt=Delivery Ack. -YouCanUseCommaSeparatorForSeveralRecipients=Jūs varat izmantot komatu atdalītāju, lai norādītu vairākus adresātus. +YouCanUseCommaSeparatorForSeveralRecipients=Jūs varat izmantot komatu kā atdalītāju, lai norādītu vairākus adresātus. TagCheckMail=Izsekot pasta atvēršanu TagUnsubscribe=Atrakstīšanās saite -TagSignature=Nosūtītāja lietotāja paraksts +TagSignature=Nosūtītāja paraksts EMailRecipient=Adresāta e-pasts TagMailtoEmail=Saņēmēja e-pasta adrese (ieskaitot html "mailto:" saiti) NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Nav kontaktpersonas / adreses ar atrastu kategoriju NoContactLinkedToThirdpartieWithCategoryFound=Nav kontaktpersonas / adreses ar atrastu kategoriju OutGoingEmailSetup=Izejošā e-pasta iestatīšana InGoingEmailSetup=Ienākošā e-pasta iestatīšana -OutGoingEmailSetupForEmailing=Izejošā e-pasta iestatīšana (masveida e-pasta sūtīšanai) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Noklusējuma izejošā e-pasta iestatīšana Information=Informācija ContactsWithThirdpartyFilter=Kontakti ar trešās puses filtru diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index b9c4d8fdbcf..ddd5125278a 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Saglabājiet un palieciet SaveAndNew=Saglabāt un jaunu TestConnection=Savienojuma pārbaude ToClone=Klonēt +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Izvēlieties datus, kurus vēlaties klonēt: NoCloneOptionsSpecified=Nav datu klons noteikts. Of=no @@ -829,6 +830,8 @@ Gender=Dzimums Genderman=Vīrietis Genderwoman=Sieviete ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Labdien GoodBye=Uz redzēšanos @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Izvēlieties diagrammas opcijas, lai izveidotu diagr Measures=Pasākumi XAxis=X ass YAxis=Y ass +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index 06afd8afee1..9c6ca231797 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -141,7 +141,7 @@ OrderByEMail=E-pasts OrderByWWW=Online OrderByPhone=Telefons # Documents models -PDFEinsteinDescription=Pilns pasūtījuma modelis (Eratosthene veidnes vecā ieviešana) +PDFEinsteinDescription=Pilns pasūtījuma modelis PDFEratostheneDescription=Pilns pasūtījuma modelis PDFEdisonDescription=Vienkāršs pasūtīt modeli PDFProformaDescription=Pilnīga Proforma rēķina veidne diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index b66f727ad00..53968217348 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grafika ir ierobežota ar %s mērījumiem rež OnlyOneFieldForXAxisIsPossible=Šobrīd kā X ass ir iespējams tikai 1 lauks. Ir atlasīts tikai pirmais atlasītais lauks. AtLeastOneMeasureIsRequired=Nepieciešams vismaz 1 lauks mērīšanai AtLeastOneXAxisIsRequired=X-asij ir nepieciešams vismaz 1 lauks - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Pārdošanas pasūtījums apstiprināts Notify_ORDER_SENTBYMAIL=Pārdošanas pasūtījums nosūtīts pa pastu Notify_ORDER_SUPPLIER_SENTBYMAIL=Pirkuma pasūtījums, kas nosūtīts pa e-pastu @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Lapas URL WEBSITE_TITLE=Virsraksts WEBSITE_DESCRIPTION=Apraksts WEBSITE_IMAGE=Attēls -WEBSITE_IMAGEDesc=Attēlu nesēja relatīvais ceļš. Varat to atstāt tukšu, jo tas tiek reti izmantots (dinamiskais saturs to var izmantot, lai parādītu sīktēlu emuāru ziņu sarakstā). Ceļā izmantojiet __WEBSITEKEY__, ja ceļš ir atkarīgs no vietnes nosaukuma. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Atslēgas vārdi LinesToImport=Importējamās līnijas diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index d7f71d183c1..ee734ef9376 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Šis rīks atjaunina PVN likmi, kas noteikta ALL< MassBarcodeInit=Masveida svītru kodu izveidošana 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=Grāmatvedības kods (iegāde) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Grāmatvedības kods (tirdzniecība) ProductAccountancySellIntraCode=Grāmatvedības kods (pārdošana Kopienas iekšienē) ProductAccountancySellExportCode=Grāmatvedības kods (pārdošanas eksports) @@ -165,7 +167,7 @@ SuppliersPrices=Pārdevēja cenas SuppliersPricesOfProductsOrServices=Pārdevēja cenas (produktiem vai pakalpojumiem) CustomCode=Muita / Prece / HS kods CountryOrigin=Izcelsmes valsts -Nature=Izstrādājuma veids (materiāls/gatavs) +Nature=Nature of product (material/finished) ShortLabel=Īsais nosaukums Unit=Vienība p=u. diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index e1dde57cbc3..75fbe01f961 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=kuru esmu piesaistījis projektam Time=Laiks ListOfTasks=Uzdevumu saraksts GoToListOfTimeConsumed=Pāriet uz patērētā laika sarakstu -GoToListOfTasks=Rādīt kā sarakstu -GoToGanttView=parādīt kā Gants GanttView=Ganta skats ListProposalsAssociatedProject=Ar projektu saistīto komerciālo priekšlikumu saraksts ListOrdersAssociatedProject=Ar projektu saistīto pārdošanas pasūtījumu saraksts @@ -188,7 +186,7 @@ PlannedWorkload=Plānotais darba apjoms PlannedWorkloadShort=Darba slodze ProjectReferers=Saistītās vienības ProjectMustBeValidatedFirst=Projektu vispirms jāpārbauda -FirstAddRessourceToAllocateTime=Piešķiriet lietotājam resursus, lai piešķirtu laiku +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Ievades dienā InputPerWeek=Ievades nedēļā InputPerMonth=Ievade mēnesī @@ -240,6 +238,7 @@ LatestModifiedProjects=Jaunākie %s labotie projekti OtherFilteredTasks=Citi filtrētie uzdevumi NoAssignedTasks=Nekādi piešķirtie uzdevumi nav atrasti (piešķiriet projektu / uzdevumus pašreizējam lietotājam no augšējā atlases lodziņa, lai ievadītu laiku tajā) ThirdPartyRequiredToGenerateInvoice=Lai varētu to izrēķināt, projektā ir jādefinē trešā persona. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Atļaut lietotāju komentārus par uzdevumiem AllowCommentOnProject=Atļaut lietotājam komentēt projektus @@ -265,3 +264,4 @@ InvoiceToUse=Izmantojamais rēķina projekts NewInvoice=Jauns rēķins OneLinePerTask=Viena rinda katram uzdevumam OneLinePerPeriod=Viena rindiņa vienam periodam +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/lv_LV/receiptprinter.lang b/htdocs/langs/lv_LV/receiptprinter.lang index 86c55dc6292..cea2b075d45 100644 --- a/htdocs/langs/lv_LV/receiptprinter.lang +++ b/htdocs/langs/lv_LV/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Viltots printeris CONNECTOR_NETWORK_PRINT=Tīkla printeris CONNECTOR_FILE_PRINT=Lokālais printeris CONNECTOR_WINDOWS_PRINT=Lokālais Windows printeris +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Viltus printeris testiem, nedara neko CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Noklusētais profils PROFILE_SIMPLE=Vienāršais profils PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Rēķina mēnesis vēstulēs DOL_VALUE_MONTH=Rēķina mēnesis DOL_VALUE_DAY=Rēķina diena DOL_VALUE_DAY_LETTERS=Rēķina diena vēstulēs +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Rēķina ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapitāls +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/lv_LV/stripe.lang b/htdocs/langs/lv_LV/stripe.lang index f9d235eba7d..36d4116396d 100644 --- a/htdocs/langs/lv_LV/stripe.lang +++ b/htdocs/langs/lv_LV/stripe.lang @@ -32,6 +32,7 @@ VendorName=Pārdevēja nosaukums CSSUrlForPaymentForm=CSS stila lapas url maksājuma formu NewStripePaymentReceived=Saņemta jauna josla maksājums NewStripePaymentFailed=New Stripe maksājums tika izmēģināts, bet neizdevās +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Slepena testa atslēga STRIPE_TEST_PUBLISHABLE_KEY=Publicējamais testa taustiņš STRIPE_TEST_WEBHOOK_KEY=Webhooka testa atslēga @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Saite uz iestatījumu Stripe WebHook, lai izsauktu IP ToOfferALinkForLiveWebhook=Saite uz iestatījumu Stripe WebHook, lai izsauktu IPN (tiešraides režīms) PaymentWillBeRecordedForNextPeriod=Maksājums tiks reģistrēts par nākamo periodu. ClickHereToTryAgain=Noklikšķiniet šeit, lai mēģinātu vēlreiz ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Sakarā ar stingriem klientu autentifikācijas noteikumiem, karte jāizveido no Stripe biroja. Jūs varat noklikšķināt šeit, lai ieslēgtu Stripe klientu ierakstu: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/lv_LV/users.lang b/htdocs/langs/lv_LV/users.lang index 84e74c12322..7f18b0e8a20 100644 --- a/htdocs/langs/lv_LV/users.lang +++ b/htdocs/langs/lv_LV/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Lietotāji un to īpašības DomainUser=Domēna lietotājs %s Reactivate=Aktivizēt CreateInternalUserDesc=Šī veidlapa ļauj izveidot iekšējo lietotāju savā uzņēmumā/organizācijā. Lai izveidotu ārēju lietotāju (klientu, pārdevēju utt.), Izmantojiet trešās puses kontakta kartītes pogu “Izveidot Dolibarr lietotāju”. -InternalExternalDesc= iekšējais lietotājs ir lietotājs, kas ir daļa no jūsu uzņēmuma / organizācijas.
    Ārējais lietotājs ir klients, pārdevējs vai cits.

    abos gadījumos atļaujas definē tiesības uz Dolibarr, arī ārējam lietotājam var būt atšķirīgs izvēlņu pārvaldnieks nekā iekšējais lietotājs (sk. Mājas - iestatīšana - displejs) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Atļauja piešķirta, jo mantojis no viena lietotāja grupai. Inherited=Iedzimta UserWillBeInternalUser=Izveidots lietotājs būs iekšējā lietotāja (jo nav saistīta ar konkrētu trešajai personai) @@ -110,3 +110,8 @@ UserLogged=Lietotājs pieteicies DateEmployment=Nodarbinātības sākuma datums DateEmploymentEnd=Nodarbinātības beigu datums CantDisableYourself=Jūs nevarat atspējot savu lietotāja ierakstu +ForceUserExpenseValidator=Spēka izdevumu pārskata apstiprinātājs +ForceUserHolidayValidator=Piespiedu atvaļinājuma pieprasījuma validētājs +ValidatorIsSupervisorByDefault=Pēc noklusējuma validētājs ir lietotāja uzraugs. Lai saglabātu šo uzvedību, atstājiet tukšu. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/lv_LV/website.lang b/htdocs/langs/lv_LV/website.lang index 929fe13f660..844b54e8c18 100644 --- a/htdocs/langs/lv_LV/website.lang +++ b/htdocs/langs/lv_LV/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Skatīt lapu jaunā cilnē SetAsHomePage=Iestatīt kā mājas lapu RealURL=Reāls URL ViewWebsiteInProduction=Apskatīt vietni, izmantojot mājas URL -SetHereVirtualHost= Lietošana ar Apache / NGinx / ...
    Ja jūs savā tīmekļa serverī (Apache, Nginx, ...) varat izveidot īpašu virtuālo resursdatoru ar iespējotu PHP un saknes direktoriju
    %s
    pēc tam iestatiet virtuālā uzņēmēja nosaukumu, kuru esat izveidojis tīmekļa vietnes īpašībās, tāpēc priekšskatījumu var izdarīt arī, izmantojot šo īpašo tīmekļa servera piekļuvi vietējā Dolibarr vietā serveri. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS= Izmantojiet ar PHP serveri.
    Izstrādājot vidi, jūs varat izvēlēties testēt vietni ar PHP tīmekļa serveri (nepieciešams PHP 5.5), palaižot
    php -S 0.0. 0.0 8080-t %s YouCanAlsoDeployToAnotherWHP=Izmantojiet savu vietni kopā ar citu Dolibarr mitināšanas pakalpojumu sniedzēju
    Ja jums nav pieejams tāds interneta serveris kā Apache vai NGinx, varat eksportēt un importēt savu vietni citā Dolibarr instancē, kuru nodrošina cits Dolibarr mitināšanas pakalpojumu sniedzējs un kas nodrošina pilnīgu integrāciju ar vietnes moduli. Dažu Dolibarr mitināšanas pakalpojumu sniedzēju sarakstu varat atrast vietnē https://saas.dolibarr.org CheckVirtualHostPerms=Pārbaudiet arī to, vai virtuālajam serverim ir atļauja %s failiem vietnē
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Diemžēl šī vietne pašlaik nav pieejama. Lūd WEBSITE_USE_WEBSITE_ACCOUNTS=Iespējot tīmekļa vietnes kontu tabulu WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Ļauj tabulai saglabāt tīmekļa vietņu kontus (pieteikšanās / caurlaide) katrai vietnei / trešajai pusei YouMustDefineTheHomePage=Vispirms ir jādefinē noklusējuma sākumlapa -OnlyEditionOfSourceForGrabbedContentFuture=Brīdinājums: Web lapas izveide, importējot ārēju tīmekļa lapu, ir paredzēta pieredzējušiem lietotājiem. Atkarībā no avota lapas sarežģītības importa rezultāts var atšķirties no oriģināla. Arī tad, ja avota lapa izmanto kopējus CSS stilus vai konfliktējošu javascript, tas, ja strādājat šajā lapā, var izjaukt tīmekļa vietnes redaktora izskatu vai funkcijas. Šī metode ir ātrāks veids, kā izveidot lapu, bet ir ieteicams izveidot jaunu lapu no nulles vai no ieteicamās lapas veidnes. no ārējās lapas ("Online" redaktors NAV pieejams) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Tikai HTML avota izdevums ir pieejams, ja saturs tiek satverts no ārējas vietnes GrabImagesInto=Grab arī attēlus, kas atrodami CSS un lapā. ImagesShouldBeSavedInto=Attēli jāuzglabā mapē @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Lai iegūtu labu SEO praksi, izmantojiet tekstu no 5 l MainLanguage=Galvenā valoda OtherLanguages=Citas valodas UseManifest=Norādiet failu manifest.json +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index 053ff8484b3..f5d4aafd77e 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/mk_MK/bills.lang b/htdocs/langs/mk_MK/bills.lang index 3c1e29b2920..d8c64f369c9 100644 --- a/htdocs/langs/mk_MK/bills.lang +++ b/htdocs/langs/mk_MK/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/mk_MK/blockedlog.lang b/htdocs/langs/mk_MK/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/mk_MK/blockedlog.lang +++ b/htdocs/langs/mk_MK/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/mk_MK/cashdesk.lang b/htdocs/langs/mk_MK/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/mk_MK/cashdesk.lang +++ b/htdocs/langs/mk_MK/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/mk_MK/companies.lang b/htdocs/langs/mk_MK/companies.lang index e9b3002b886..2d140b0d23f 100644 --- a/htdocs/langs/mk_MK/companies.lang +++ b/htdocs/langs/mk_MK/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/mk_MK/compta.lang b/htdocs/langs/mk_MK/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/mk_MK/compta.lang +++ b/htdocs/langs/mk_MK/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index d56298cab0e..40f452de628 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/mk_MK/link.lang b/htdocs/langs/mk_MK/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/mk_MK/link.lang +++ b/htdocs/langs/mk_MK/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/mk_MK/mails.lang b/htdocs/langs/mk_MK/mails.lang index 8b92cef3103..6708fce5b2c 100644 --- a/htdocs/langs/mk_MK/mails.lang +++ b/htdocs/langs/mk_MK/mails.lang @@ -33,7 +33,7 @@ CreateMailing=Create emailing TestMailing=Test email ValidMailing=Valid emailing MailingStatusDraft=Draft -MailingStatusValidated=Validated +MailingStatusValidated=Валидирано MailingStatusSent=Sent MailingStatusSentPartialy=Sent partially MailingStatusSentCompletely=Sent completely @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index 97be38cfce4..d4e5709f606 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/mk_MK/other.lang b/htdocs/langs/mk_MK/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/mk_MK/other.lang +++ b/htdocs/langs/mk_MK/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index 79c3351caf9..8cf00847a11 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/mk_MK/receiptprinter.lang b/htdocs/langs/mk_MK/receiptprinter.lang index 3df49b9fe67..82387cf5703 100644 --- a/htdocs/langs/mk_MK/receiptprinter.lang +++ b/htdocs/langs/mk_MK/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Фактура број +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/mk_MK/stripe.lang b/htdocs/langs/mk_MK/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/mk_MK/stripe.lang +++ b/htdocs/langs/mk_MK/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/mk_MK/users.lang b/htdocs/langs/mk_MK/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/mk_MK/users.lang +++ b/htdocs/langs/mk_MK/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/mk_MK/website.lang b/htdocs/langs/mk_MK/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/mk_MK/website.lang +++ b/htdocs/langs/mk_MK/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/mn_MN/admin.lang b/htdocs/langs/mn_MN/admin.lang index 2f36c876c1a..0205f246b0c 100644 --- a/htdocs/langs/mn_MN/admin.lang +++ b/htdocs/langs/mn_MN/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/mn_MN/bills.lang b/htdocs/langs/mn_MN/bills.lang index 6d7c61784f7..8c22ce0159a 100644 --- a/htdocs/langs/mn_MN/bills.lang +++ b/htdocs/langs/mn_MN/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/mn_MN/blockedlog.lang b/htdocs/langs/mn_MN/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/mn_MN/blockedlog.lang +++ b/htdocs/langs/mn_MN/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/mn_MN/cashdesk.lang b/htdocs/langs/mn_MN/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/mn_MN/cashdesk.lang +++ b/htdocs/langs/mn_MN/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/mn_MN/companies.lang b/htdocs/langs/mn_MN/companies.lang index c569a48c84a..f8b3d0354e2 100644 --- a/htdocs/langs/mn_MN/companies.lang +++ b/htdocs/langs/mn_MN/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/mn_MN/compta.lang b/htdocs/langs/mn_MN/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/mn_MN/compta.lang +++ b/htdocs/langs/mn_MN/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/mn_MN/errors.lang b/htdocs/langs/mn_MN/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/mn_MN/errors.lang +++ b/htdocs/langs/mn_MN/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/mn_MN/install.lang b/htdocs/langs/mn_MN/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/mn_MN/install.lang +++ b/htdocs/langs/mn_MN/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/mn_MN/link.lang b/htdocs/langs/mn_MN/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/mn_MN/link.lang +++ b/htdocs/langs/mn_MN/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/mn_MN/mails.lang b/htdocs/langs/mn_MN/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/mn_MN/mails.lang +++ b/htdocs/langs/mn_MN/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/mn_MN/main.lang b/htdocs/langs/mn_MN/main.lang index 0681c294748..9cf03c8bfdb 100644 --- a/htdocs/langs/mn_MN/main.lang +++ b/htdocs/langs/mn_MN/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/mn_MN/other.lang b/htdocs/langs/mn_MN/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/mn_MN/other.lang +++ b/htdocs/langs/mn_MN/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/mn_MN/products.lang b/htdocs/langs/mn_MN/products.lang index d8a3192551f..a31243a07b6 100644 --- a/htdocs/langs/mn_MN/products.lang +++ b/htdocs/langs/mn_MN/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/mn_MN/projects.lang b/htdocs/langs/mn_MN/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/mn_MN/projects.lang +++ b/htdocs/langs/mn_MN/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/mn_MN/receiptprinter.lang b/htdocs/langs/mn_MN/receiptprinter.lang index 3df49b9fe67..896eaa313dd 100644 --- a/htdocs/langs/mn_MN/receiptprinter.lang +++ b/htdocs/langs/mn_MN/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/mn_MN/stripe.lang b/htdocs/langs/mn_MN/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/mn_MN/stripe.lang +++ b/htdocs/langs/mn_MN/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/mn_MN/users.lang b/htdocs/langs/mn_MN/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/mn_MN/users.lang +++ b/htdocs/langs/mn_MN/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/mn_MN/website.lang b/htdocs/langs/mn_MN/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/mn_MN/website.lang +++ b/htdocs/langs/mn_MN/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index 07a50a0c31f..dd75edd09bf 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Merk: din PHP-konfigurasjon begrenser for øyeb NoMaxSizeByPHPLimit=Merk: Det er ikke satt noen begrensninger i din PHP-konfigurasjon på denne serveren MaxSizeForUploadedFiles=Maksimal filstørrelse for opplasting av filer (0 for å ikke tillate opplasting) UseCaptchaCode=Bruk Capthca på innloggingsside -AntiVirusCommand= Full sti til antivirus kommandoen -AntiVirusCommandExample= Eksempel på ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Eksempel på ClamAV: /usr/bin/clamscan +AntiVirusCommand=Full sti til antivirus kommandoen +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Flere parametre på kommandolinjen -AntiVirusParamExample= Eksempel på ClamWin: - database = "C:\\Program Files (x86)\\ClamWin\\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Oppsett av regnskapsmodul UserSetup=Oppsett av brukere MultiCurrencySetup=Oppsett av fler-valuta @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funksjonen er slått av i demo FeatureAvailableOnlyOnStable=Egenskapen er kun tilgjengelig på offisielle, stabile versjoner BoxesDesc=Widgets er komponenter som viser litt informasjon du kan legge til for å tilpasse noen sider. Du kan velge mellom å vise widgeten eller ikke ved å velge målside og klikke på "Aktiver", eller ved å klikke på papirkurven for å deaktivere den. OnlyActiveElementsAreShown=Bare elementer fra aktiverte moduler vises. -ModulesDesc=Modulene/programmene bestemmer hvilke funksjoner som er tilgjengelige i programvaren. Noen moduler krever at brukere får tillatelser etter at modulen er aktivert. Klikk på på/av-knappen (på slutten av modullinjen) for å aktivere/deaktivere en modul/applikasjon. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Du kan finne flere moduler for nedlasting på eksterne nettsteder. ModulesDeployDesc=Hvis tillatelser for filsystemet tillater det, kan du bruke dette verktøyet til å distribuere en ekstern modul. Modulen vil da være synlig under fanen %s. ModulesMarketPlaces=Finn eksterne apper/moduler @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatibel med versjon %s NotCompatible=Denne modulenser ikke ut til å være kompatibel med Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Denne modulen krever en oppdatering av Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på Markedsplass +SeeSetupOfModule=Se oppsett av modul %s Updated=Oppdatert Nouveauté=Nyhet AchatTelechargement=Kjøp/Last ned @@ -221,6 +222,7 @@ DoliPartnersDesc=Liste over selskaper som tilbyr spesialutviklede moduler eller WebSiteDesc=Eksterne nettsteder for flere tilleggs- (ikke-kjerne) moduler ... DevelopYourModuleDesc=Noen løsninger for å utvikle din egen modul... URL=URL +RelativeURL=Relative URL BoxesAvailable=Tilgjengelige widgeter BoxesActivated=Aktiverte widgeter ActivateOn=Aktivert på @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Hold tomt for å bruke standardverdien DefaultLink=Standard kobling SetAsDefault=Sett som standard ValueOverwrittenByUserSetup=Advarsel, denne verdien kan bli overskrevet av brukerspesifikke oppsett (hver bruker kan sette sitt eget clicktodial url) -ExternalModule=Ekstern modul - Installert i katalog %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Masseinitiering av strekkoder for tredjeparter BarcodeInitForProductsOrServices=Masseinitiering eller sletting av strekkoder for varer og tjenester CurrentlyNWithoutBarCode=For øyeblikket har du %s poster på %s %s uten strekkode. @@ -947,7 +950,7 @@ DictionaryCanton=Stater/provinser DictionaryRegion=Region DictionaryCountry=Land DictionaryCurrency=Valutaer -DictionaryCivility=Tittel +DictionaryCivility=Honorific titles DictionaryActions=Typer agendahendelser DictionarySocialContributions=Typer av sosiale avgifter og skatter DictionaryVAT=MVA satser @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Foreslått MVA er som standard 0. Den kan brukes mot foreninger VATIsUsedExampleFR=I Frankrike betyr det at bedrifter eller organisasjoner har et reelt finanssystem (forenklet reell eller normal reell). Et system hvor MVA er erklært. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Ikke bruk andre skatter LocalTax1IsUsedDesc=Bruk en annen type skatt (annet enn den første) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Standard RE-sats når du oppretter prospekter, fakturaer, LocalTax2IsNotUsedDescES=Som standard er den foreslåtte IRPF er 0. Slutt på regelen. LocalTax2IsUsedExampleES=I Spania, for frilansere og selvstendige som leverer tjenester, og bedrifter som har valgt moduler for skattesystem. LocalTax2IsNotUsedExampleES=I Spania er de bedrifter som ikke er ikke skattepliktige +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Rapport over lokale avgifter CalcLocaltax1=Salg - Innkjøp CalcLocaltax1Desc=Lokale skatter-rapporter kalkuleres med forskjellen mellom kjøp og salg @@ -1018,6 +1025,7 @@ CalcLocaltax2=Innkjøp CalcLocaltax2Desc=Lokale skatter-rapportene viser totalt kjøp CalcLocaltax3=Salg CalcLocaltax3Desc=Lokale skatter-rapportene viser totalt salg +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etiketten som brukes som standard hvis ingen oversettelse kan bli funnet for kode LabelOnDocuments=Etiketten på dokumenter LabelOrTranslationKey=Etikett eller oversettelsessnøkkel @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Utgiftsrapporter for godkjenning Delays_MAIN_DELAY_HOLIDAYS=Legg igjen forespørsler for godkjenning SetupDescription1=Før du begynner å bruke Dolibarr, må noen innledende parametere defineres og moduler aktiveres/konfigureres. SetupDescription2=Følgende to seksjoner er obligatoriske (de to første oppføringene i oppsettmenyen): -SetupDescription3=  %s -> %s
    Grunnparametere som brukes til å tilpasse standardoppførelsen til applikasjonen din (for eksempel landrelaterte funksjoner). -SetupDescription4=  %s -> %s
    Denne programvaren er en serie av mange moduler/applikasjoner, alle mer eller mindre uavhengige. Modulene som er relevante for dine behov, må aktiveres og konfigureres. Nye elementer/alternativer legges til menyer ved aktivering av en modul. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Annet oppsett menyoppføringer styrer valgfrie parametere. LogEvents=Hendelser relatert til sikkerhet Audit=Revisjon @@ -1128,7 +1136,7 @@ LogEventDesc=Aktiver logging av bestemte sikkerhetshendelser. Administratorer n AreaForAdminOnly=Oppsettparametere kan bare angis av administratorbrukere . SystemInfoDesc=Systeminformasjon er diverse teknisk informasjon som kun vises i skrivebeskyttet modus, og som kun er synlig for administratorer. SystemAreaForAdminOnly=Dette området er kun tilgjengelig for administratorbrukere. Dolibarr brukerrettigheter kan ikke endre denne begrensningen. -CompanyFundationDesc=Rediger informasjonen til selskapet/enheten. Klikk på knappen "%s" nederst på siden. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Hvis du har en ekstern revisor/regnskapsholder, kan du endre dennes informasjon her. AccountantFileNumber=Regnskapsførerkode DisplayDesc=Parametre som påvirker utseende og oppførsel av Dolibarr kan endres her. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Regler for å generere og validere passord DisableForgetPasswordLinkOnLogonPage=Ikke vis koblingen "Glemt passord" på innloggingssiden UsersSetup=Oppsett av brukermodulen UserMailRequired=E-postadresse kreves for å opprette en ny bruker +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Dokumentmaler for dokumenter generert fra en gruppeoppføring ##### HRM setup ##### HRMSetup=Oppsett av HRM-modul ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Fakturamaler BillsPDFModulesAccordindToInvoiceType=Faktura-dokumentmodeller etter fakturatype PaymentsPDFModules=Betalingsdokumentmodeller ForceInvoiceDate=Tving fakturadato til godkjenningsdato -SuggestedPaymentModesIfNotDefinedInInvoice=Foreslått betalingsmåte på fakturaer når annet ikke er angitt +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Foreslå betaling trukket fra konto SuggestPaymentByChequeToAddress=Foreslå betaling med sjekk til FreeLegalTextOnInvoices=Fritekst på fakturaer @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Oppsett av leverandørbetaling PropalSetup=Oppsett av modulen Tilbud ProposalsNumberingModules=Nummereringsmodul for tilbud ProposalsPDFModules=Tilbudsmaler -SuggestedPaymentModesIfNotDefinedInProposal=Foreslått standard betalingsmodus på tilbud, hvis valg ikke er gjort +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Fritekst på tilbud WatermarkOnDraftProposal=Vannmerke på tilbudskladder (ingen hvis tom) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Be om bankkonto for tilbudet @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Spør om Lagerkilde for ordre ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Be om bankkonto destinasjon for innkjøpsordre ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Salgsordreoppsett OrdersNumberingModules=Nummereringsmodul for ordre OrdersModelModule=Ordremaler @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Advarsel, høyere verdier reduserer res ModuleActivated=Modul %s er aktivert og bremser grensesnittet EXPORTS_SHARE_MODELS=Eksportmodellene er delt med alle ExportSetup=Oppsett av modul Eksport +ImportSetup=Setup of module Import InstanceUniqueID=Unik ID for forekomsten SmallerThan=Mindre enn LargerThan=Større enn @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Utfør et anonymt Ping '+1' til Dolibarr foundation-serveren ( FeatureNotAvailableWithReceptionModule=Funksjonen er ikke tilgjengelig når modulen Mottak er aktivert EmailTemplate=Mal for e-post EMailsWillHaveMessageID=E-postmeldinger vil være merket 'Referanser' som samsvarer med denne syntaksen -PDF_USE_ALSO_LANGUAGE_CODE=Hvis du vil ha en teksttittel i PDF-en din på to forskjellige språk i samme genererte PDF, må du angi andrespråket her. Det som er valgt når du genererer PDF, og dette (bare få PDF-maler støtter dette). Hold tomt for kun ett språk per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Skriv inn koden til et FontAwesome-ikon. Hvis du ikke vet hva som er FontAwesome, kan du bruke den generelle verdien fa-adresseboken. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/nb_NO/bills.lang b/htdocs/langs/nb_NO/bills.lang index b4d0757bc79..9b288bf1ffa 100644 --- a/htdocs/langs/nb_NO/bills.lang +++ b/htdocs/langs/nb_NO/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Leverandørfakturaer SupplierBill=Leverandørfaktura SupplierBills=Leverandørfakturaer Payment=Betaling -PaymentBack=Tilbakebetaling -CustomerInvoicePaymentBack=Tilbakebetalinger +PaymentBack=Refusjon +CustomerInvoicePaymentBack=Refusjon Payments=Betalinger PaymentsBack=Refusjoner paymentInInvoiceCurrency=i faktura-valuta PaidBack=Tilbakebetalt DeletePayment=Slett betaling ConfirmDeletePayment=Er du sikker på at du vil slette denne betalingen? -ConfirmConvertToReduc=Vil du konvertere denne %s til en absolutt rabatt? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Beløpet vil bli lagret blant alle rabatter og kan brukes som en rabatt for en nåværende eller fremtidig faktura for denne kunden. -ConfirmConvertToReducSupplier=Vil du konvertere denne %s til en absolutt rabatt? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=Beløpet vil bli lagret blant alle rabatter og kan brukes som en rabatt for en nåværende eller en fremtidig faktura for denne leverandøren. SupplierPayments=Leverandørbetalinger ReceivedPayments=Mottatte betalinger @@ -219,7 +219,10 @@ ShowInvoiceSituation=Vis delfaktura UseSituationInvoices=Tillat delfaktura UseSituationInvoicesCreditNote=Tillat delfaktura kreditnota Retainedwarranty=Tilbakehold +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Tilbakehold standardprosent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Å betale på %s toPayOn=å betale på %s RetainedWarranty=Tilbakehold @@ -509,11 +512,11 @@ ToMakePayment=Betal ToMakePaymentBack=Tilbakebetal ListOfYourUnpaidInvoices=Liste over ubetalte fakturaer NoteListOfYourUnpaidInvoices=Denne listen inneholder kun fakturaer for tredjeparter du er koblet til som salgsrepresentant. -RevenueStamp=Stempelmerke +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Dette alternativet er bare tilgjengelig når du oppretter faktura fra kategorien "kunde" under tredjepart YouMustCreateInvoiceFromSupplierThird=Dette alternativet er bare tilgjengelig når du oppretter faktura fra kategorien "leverandør" under tredjepart YouMustCreateStandardInvoiceFirstDesc=Du må først lage en standardfaktura og så konvertere den til "mal" for å lage en ny fakturamal -PDFCrabeDescription=PDF-fakturamal Crabe. En komplett fakturamal (gammel implementering av Sponge-mal) +PDFCrabeDescription=PDF-fakturamal Crabe. En komplett fakturamal PDFSpongeDescription=PDF Fakturamal Sponge. En komplett fakturamal PDFCrevetteDescription=PDF fakturamal Crevette. En komplett mal for delfaktura TerreNumRefModelDesc1=Returnerer nummer med format %syymm-nnnn for standardfaktura og %syymm-nnnn for kreditnota, der yy er året, mm måned og nnnn er et løpenummer som starter på 0+1. @@ -575,3 +578,4 @@ AutoFillDateTo=Angi sluttdato for tjenestelinje med neste faktura dato AutoFillDateToShort=Angi sluttdato MaxNumberOfGenerationReached=Maks ant. genereringer nådd BILL_DELETEInDolibarr=Faktura slettet +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/nb_NO/blockedlog.lang b/htdocs/langs/nb_NO/blockedlog.lang index abac55b8269..1f7280e6ab8 100644 --- a/htdocs/langs/nb_NO/blockedlog.lang +++ b/htdocs/langs/nb_NO/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Uforanderlige logger ShowAllFingerPrintsMightBeTooLong=Vis alle arkiverte logger (kan være lang) ShowAllFingerPrintsErrorsMightBeTooLong=Vis alle ikke-gyldige arkivlogger (kan være lang) DownloadBlockChain=Last ned fingeravtrykk -KoCheckFingerprintValidity=Arkivert logg er ikke gyldig. Det betyr at noen (en hacker?) har endret noen data i den arkiverte loggen etter at den ble registrert, eller har slettet den forrige arkiverte posten (sjekk at linjen med tidligere # eksisterer). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Arkivert logg er gyldig. Det betyr at ingen data på denne linjen ble endret og posten følger den forrige. OkCheckFingerprintValidityButChainIsKo=Arkivert logg ser ut til å være gyldig i forhold til den forrige, men kjeden var ødelagt tidligere. AddedByAuthority=Lagret hos ekstern myndighet diff --git a/htdocs/langs/nb_NO/cashdesk.lang b/htdocs/langs/nb_NO/cashdesk.lang index 4c8f57ff9c3..de444112b59 100644 --- a/htdocs/langs/nb_NO/cashdesk.lang +++ b/htdocs/langs/nb_NO/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Legg til denne artikkelen RestartSelling=Gå tilbake på salg SellFinished=Salg fullført PrintTicket=Skriv kvittering +SendTicket=Send ticket NoProductFound=Ingen artikler funnet ProductFound=vare funnet NoArticle=Ingen artikkel @@ -48,6 +49,7 @@ Footer=Bunntekst AmountAtEndOfPeriod=Beløp ved periodens slutt (dag, måned eller år) TheoricalAmount=Teoretisk beløp RealAmount=Virkelig beløp +CashFence=Cash fence CashFenceDone=Kontantoppgjør ferdig for perioden NbOfInvoices=Ant. fakturaer Paymentnumpad=Tastaturtype for å legge inn betaling @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS trenger varekategorier for å fungere OrderNotes=Ordrenotater CashDeskBankAccountFor=Standardkonto for bruk for betalinger i NoPaimementModesDefined=Ingen betalingsmodus definert i TakePOS-konfigurasjonen -TicketVatGrouped=Grupper MVA etter sats i kvitteringer -AutoPrintTickets=Skriv ut kvitteringer automatisk +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Aktiver funksjoner for Bar eller Restaurant ConfirmDeletionOfThisPOSSale=Bekrefter du slettingen av pågående salg? ConfirmDiscardOfThisPOSSale=Ønsker du å forkaste dette nåværende salget? @@ -87,7 +90,19 @@ HeadBar=Toppmeny SortProductField=Felt for sortering av produkter Browser=Nettleser BrowserMethodDescription=Enkel kvitteringsutskrift. Kun noen få parametere for å konfigurere kvitteringen. Skriv ut via nettleser. -TakeposConnectorMethodDescription=Ekstern modul med ekstra funksjoner. Mulighet for å skrive ut fra skyen. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Utskriftsmetode ReceiptPrinterMethodDescription=Metode med mange parametere. Full tilpassbar med maler. Kan ikke skrive ut fra skyen. ByTerminal=Med terminal +TakeposNumpadUsePaymentIcon=Bruk betalingsikonet på numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start et nytt parallellsalg +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/nb_NO/companies.lang b/htdocs/langs/nb_NO/companies.lang index 5f0f0675601..319030bfc9e 100644 --- a/htdocs/langs/nb_NO/companies.lang +++ b/htdocs/langs/nb_NO/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Firma "%s" er slettet fra databasen. ListOfContacts=Oversikt over kontaktpersoner ListOfContactsAddresses=Oversikt over kontaktpersoner ListOfThirdParties=Liste over tredjeparter -ShowCompany=Vis tredjepart ShowContact=Vis kontaktperson ContactsAllShort=Alle (ingen filter) ContactType=Kontaktperson type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Selgers fornavn SaleRepresentativeLastname=Selgers etternavn ErrorThirdpartiesMerge=Det oppsto en feil ved sletting av tredjepart. Vennligst sjekk loggen. Endringer er blitt tilbakestilt. NewCustomerSupplierCodeProposed=Kunde eller leverandørkode er allerede brukt, en ny kode blir foreslått +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Betalingstype - Kunde PaymentTermsCustomer=Betalingsbetingelser - Kunde diff --git a/htdocs/langs/nb_NO/compta.lang b/htdocs/langs/nb_NO/compta.lang index f59c7921d87..0268b80d861 100644 --- a/htdocs/langs/nb_NO/compta.lang +++ b/htdocs/langs/nb_NO/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Se %sanalyse av betalinger%s for en beregning av fakt SeeReportInDueDebtMode=Se %sanalyse av fakturaer%s for en beregning basert på kjente registrerte fakturaer, selv om de ennå ikke er regnskapsført i hovedboken. SeeReportInBookkeepingMode=Se %sRegnskapsrapport%s for en beregning på Hovedbokstabell RulesAmountWithTaxIncluded=- Viste beløp er inkludert alle avgifter -RulesResultDue=- Inkluderer utestående fakturaer, utgifter, MVA og donasjoner, enten de er betalt eller ikke. Inkluderer også utbetalt lønn.
    - Basert på valideringsdato for fakturaer og MVA og på forfallsdato for utgifter. For lønn definert med Lønn-modulen, benyttes utbetalingstidspunktet. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Inkluderer betalinger gjort mot fakturaer, utgifter, MVA og lønn.
    Basert på betalingsdato. Donasjonsdato for donasjoner -RulesCADue=- Inkluderer kundens forfalte fakturaer, enten de er betalt eller ikke.
    Basert på valideringsdatoen til disse fakturaene.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Inkluderer alle betalinger av fakturaer mottatt fra klienter.
    - Er basert på betalingsdatoen for disse fakturaene
    RulesCATotalSaleJournal=Den inkluderer alle kredittlinjer fra salgsjournalen. RulesAmountOnInOutBookkeepingRecord=Inkluderer poster i hovedboken med regnskapskontoer som har gruppen "UTGIFTER" eller "INNTEKT" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Omsetning fakturert etter MVA-sats TurnoverCollectedbyVatrate=Omsetning etter MVA-sats PurchasebyVatrate=Innkjøp etter MVA-sats LabelToShow=Kort etikett +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 6dba399c656..8ec753e1705 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Filen ble ikke fullstendig mottatt av server. ErrorNoTmpDir=Midlertidig mappe %s finnes ikke. ErrorUploadBlockedByAddon=Opplastning blokkert av en PHP/Apache plugin. ErrorFileSizeTooLarge=Filstørrelsen er for stor. +ErrorFieldTooLong=Felt %s er for langt. ErrorSizeTooLongForIntType=Størrelse for lang for int-type (%s sifre maksimum) ErrorSizeTooLongForVarcharType=Størrelse for lang for streng-type (%s tegn maksimum) ErrorNoValueForSelectType=Sett inn verdi for å velge liste @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Feil, språket på oversatt side ErrorBatchNoFoundForProductInWarehouse=Ingen partier/serier funnet for produktet "%s" i lageret "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Ikke nok mengde for dette partiet/serien for produktet "%s" i lageret "%s". ErrorOnlyOneFieldForGroupByIsPossible=Bare ett felt for 'Grupper etter' er mulig (andre blir forkastet) -ErrorTooManyDifferentValueForSelectedGroupBy=Fant for mange forskjellige verdier (mer enn %s ) for feltet ' %s ', så vi kan ikke bruke det som grafikk. Feltet 'Grupper etter' er fjernet. Kan det være du ønsket å bruke den som X-akse? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHP-parameteren upload_max_filesize (%s) er høyere enn PHP-parameteren post_max_size (%s). Dette er ikke et konsistent oppsett. WarningPasswordSetWithNoAccount=Et passord ble satt for dette medlemmet, men ingen brukerkonto ble opprettet. Det fører til at passordet ikke kan benyttes for å logge inn på Dolibarr. Det kan brukes av en ekstern modul/grensesnitt, men hvis du ikke trenger å definere noen innlogging eller passord for et medlem, kan du deaktivere alternativet "opprett en pålogging for hvert medlem" fra medlemsmodul-oppsettet. Hvis du trenger å administrere en pålogging, men ikke trenger noe passord, kan du holde dette feltet tomt for å unngå denne advarselen. Merk: E-post kan også brukes som en pålogging dersom medlemmet er knyttet til en bruker. diff --git a/htdocs/langs/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index 70b583c7caa..33d72b19f03 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Denne PHP støtter Curl. PHPSupportCalendar=Denne PHP støtter kalenderutvidelser. PHPSupportUTF8=Denne PHP støtter UTF8 funksjoner. PHPSupportIntl=Dette PHP støtter Intl funksjoner. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Denne PHP støtter %s-funksjoner. PHPMemoryOK=Din PHP økt-minne er satt til maks.%s bytes. Dette bør være nok. PHPMemoryTooLow=Din PHP max økter-minnet er satt til %s bytes. Dette er for lavt. Endre php.ini å sette memory_limit parameter til minst %s byte. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Din PHP-installasjon støtter ikke Curl. ErrorPHPDoesNotSupportCalendar=PHP-installasjonen din støtter ikke php-kalenderutvidelser. ErrorPHPDoesNotSupportUTF8=Din PHP installasjon har ikke støtte for UTF8-funksjoner. Dolibarr vil ikke fungere riktig. Løs dette før du installerer Dolibarr. ErrorPHPDoesNotSupportIntl=PHP-installasjonen støtter ikke Intl-funksjoner. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=PHP-installasjonen din støtter ikke %s-funksjoner. ErrorDirDoesNotExists=Mappen %s finnes ikke. ErrorGoBackAndCorrectParameters=Gå tilbake og sjekk/korrigér parametrene. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Programmet prøvde å oppgradere selv, men instal YouTryInstallDisabledByFileLock=Programmet prøvde å oppgradere selv, men installerings- / oppgraderingssidene er deaktivert for sikkerhet (ved eksistensen av en låsfil install.lock i dolibarr-dokumenter katalogen).
    ClickHereToGoToApp=Klikk her for å gå til din applikasjon ClickOnLinkOrRemoveManualy=Klikk på følgende lenke. Hvis du alltid ser denne samme siden, må du fjerne/endre navn på filen install.lock i dokumentmappen. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/nb_NO/link.lang b/htdocs/langs/nb_NO/link.lang index 3719cf4a7dc..d8f4d669605 100644 --- a/htdocs/langs/nb_NO/link.lang +++ b/htdocs/langs/nb_NO/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Koblingen til %s ble fjernet ErrorFailedToDeleteLink= Klarte ikke å fjerne kobling'%s' ErrorFailedToUpdateLink= Klarte ikke å oppdatere koblingen til '%s' URLToLink=URL til link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/nb_NO/mails.lang b/htdocs/langs/nb_NO/mails.lang index 3c29bd69e86..415ecec5f1a 100644 --- a/htdocs/langs/nb_NO/mails.lang +++ b/htdocs/langs/nb_NO/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Ingen kontakter/adresser med kategori funnet NoContactLinkedToThirdpartieWithCategoryFound=Ingen kontakter/adresser med kategori funnet OutGoingEmailSetup=Oppsett for utgående epost InGoingEmailSetup=Oppsett for innkommende epost -OutGoingEmailSetupForEmailing=Oppsett av utgående e-post (for masse-e-post) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Standard utgående e-postoppsett Information=Informasjon ContactsWithThirdpartyFilter=Kontakter med tredjepartsfilter diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index 7896ac6e5fc..b90db6eb455 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Lagre og bli SaveAndNew=Lagre og ny TestConnection=Test tilkobling ToClone=Klon +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Velg hvilke data du vil klone: NoCloneOptionsSpecified=Det er ikke valgt noen data å klone. Of=av @@ -829,6 +830,8 @@ Gender=Kjønn Genderman=Mann Genderwoman=Kvinne ViewList=Listevisning +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obligatorisk Hello=Hei GoodBye=Farvel @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Velg alternativer for å lage en graf Measures=Målinger XAxis=X-akse YAxis=Y-akse +StatusOfRefMustBe=Status for %s må være %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/nb_NO/other.lang b/htdocs/langs/nb_NO/other.lang index 444b6345cbd..4c894695c78 100644 --- a/htdocs/langs/nb_NO/other.lang +++ b/htdocs/langs/nb_NO/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grafikk er begrenset til %s-mål i 'Barer' -mod OnlyOneFieldForXAxisIsPossible=Bare ett felt er for øyeblikket mulig som X-Akse. Bare det første valgte feltet er valgt. AtLeastOneMeasureIsRequired=Det kreves minst ett felt for mål AtLeastOneXAxisIsRequired=Minst ett felt for X-akse er påkrevd - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Salgsordre validert Notify_ORDER_SENTBYMAIL=Salgsordre sendt via epost Notify_ORDER_SUPPLIER_SENTBYMAIL=Innkjøpsordre sendt via e-post @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Side-URL WEBSITE_TITLE=Tittel WEBSITE_DESCRIPTION=Beskrivelse WEBSITE_IMAGE=Bilde -WEBSITE_IMAGEDesc=Relativ bane for bildemediet. Du kan holde dette tomt da dette sjelden blir brukt (det kan brukes av dynamisk innhold for å vise et miniatyrbilde i en liste over blogginnlegg). Bruk __WEBSITEKEY__ i banen hvis banen avhenger av nettstedets navn. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Nøkkelord LinesToImport=Linjer å importere diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index e0280204dba..ec59a80ddcc 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Dette verktøyet oppdaterer MVA-verdien som er definert MassBarcodeInit=Masse strekkode-endring MassBarcodeInitDesc=Denne siden kan brukes til å lage strekkoder for objekter som ikke har dette. Kontroller at oppsett av modulen Strekkoder er fullført. ProductAccountancyBuyCode=Regnskapskode (kjøp) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Regnskapskode (salg) ProductAccountancySellIntraCode=Regnskapskode (salg intra-community) ProductAccountancySellExportCode=Regnskapskode (salgseksport) @@ -165,7 +167,7 @@ SuppliersPrices=Leverandørpriser SuppliersPricesOfProductsOrServices=Leverandørpriser (av varer eller tjenester) CustomCode=Toll / vare / HS-kode CountryOrigin=Opprinnelsesland -Nature=Varens art (materiale/ferdig) +Nature=Nature of product (material/finished) ShortLabel=Kort etikett Unit=Enhet p= stk diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 07be0df9725..d514c0df475 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=som jeg er knyttet til prosjektet Time=Tid ListOfTasks=Oppgaveliste GoToListOfTimeConsumed=Gå til liste for tidsbruk -GoToListOfTasks=Vis som liste -GoToGanttView=vis som Gantt GanttView=Gantt visning ListProposalsAssociatedProject=Liste over tilbud knyttet til prosjektet ListOrdersAssociatedProject=Liste over salgsordre knyttet til prosjektet @@ -188,7 +186,7 @@ PlannedWorkload=Planlagt arbeidsmengde PlannedWorkloadShort=Arbeidsmengde ProjectReferers=Relaterte elementer ProjectMustBeValidatedFirst=Prosjektet må valideres først -FirstAddRessourceToAllocateTime=Tilknytt brukerressurs til oppgave for å tildele tid +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Tidsbruk pr. dag InputPerWeek=Tidsbruk pr. uke InputPerMonth=Forbruk pr. måned @@ -240,6 +238,7 @@ LatestModifiedProjects=Siste %s endrede prosjekter OtherFilteredTasks=Andre filtrerte oppgaver NoAssignedTasks=Ingen tildelte oppgaver funnet (tilordne prosjekt/oppgaver til den nåværende brukeren fra den øverste valgboksen for å legge inn tid på den) ThirdPartyRequiredToGenerateInvoice=En tredjepart må defineres på prosjektet for å kunne fakturere det. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Tillat brukerkommentarer på oppgaver AllowCommentOnProject=Tillat brukerkommentarer på prosjekter @@ -265,3 +264,4 @@ InvoiceToUse=Fakturamal som skal brukes NewInvoice=Ny faktura OneLinePerTask=Én linje per oppgave OneLinePerPeriod=Én linje per periode +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/nb_NO/receiptprinter.lang b/htdocs/langs/nb_NO/receiptprinter.lang index c908ba6387a..8a3ea66f89a 100644 --- a/htdocs/langs/nb_NO/receiptprinter.lang +++ b/htdocs/langs/nb_NO/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummyskriver CONNECTOR_NETWORK_PRINT=Nettverksskriver CONNECTOR_FILE_PRINT=Lokal skriver CONNECTOR_WINDOWS_PRINT=Lokal Windowsskriver +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Dummyskriver for test. Gjør ingenting CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Standardprofil PROFILE_SIMPLE=Enkel profil PROFILE_EPOSTEP=Epos Tep-profil @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Fakturamåned med bokstaver DOL_VALUE_MONTH=Fakturamåned DOL_VALUE_DAY=Fakturadag DOL_VALUE_DAY_LETTERS=Fakturadag med bokstaver +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Fakturareferanse +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intracommunity number of VAT (ikke i Norge) +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/nb_NO/stripe.lang b/htdocs/langs/nb_NO/stripe.lang index bef1913f7ca..b4e05cb5e8a 100644 --- a/htdocs/langs/nb_NO/stripe.lang +++ b/htdocs/langs/nb_NO/stripe.lang @@ -32,6 +32,7 @@ VendorName=Navn på leverandøren CSSUrlForPaymentForm=URL til CSS-stilark for betalingsskjema NewStripePaymentReceived=Ny Stripe betaling mottatt NewStripePaymentFailed=Ny Stripe betaling prøvd men mislyktes +FailedToChargeCard=Kunne ikke lade kortet STRIPE_TEST_SECRET_KEY=Hemmelig testnøkkel STRIPE_TEST_PUBLISHABLE_KEY=Publiserbar testnøkkel STRIPE_TEST_WEBHOOK_KEY=Webhook testnøkkel @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link til oppsett av Stripe WebHook for oppkall av IPN ToOfferALinkForLiveWebhook=Link til oppsett av Stripe WebHook for oppkall av IPN (live-modus) PaymentWillBeRecordedForNextPeriod=Betalingen blir registrert for neste periode. ClickHereToTryAgain=Klikk her for å prøve igjen ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=På grunn av sterke regler for autentisering av kunder, må opprettelse av et kort gjøres fra Stripe backoffice. Du kan klikke her for å slå på Stripe kundeoppføring: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/nb_NO/users.lang b/htdocs/langs/nb_NO/users.lang index 5ebfbaf8511..9afc41913f8 100644 --- a/htdocs/langs/nb_NO/users.lang +++ b/htdocs/langs/nb_NO/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Passordet er endret til : %s SubjectNewPassword=Ditt nye passord til %s GroupRights=Grupperettigheter UserRights=Brukerrettigheter -UserGUISetup=User Display Setup +UserGUISetup=Brukerens visningsoppsett DisableUser=Deaktiver DisableAUser=Deaktiver en bruker DeleteUser=Slett @@ -34,8 +34,8 @@ ListOfUsers=Brukeroversikt SuperAdministrator=Super Administrator SuperAdministratorDesc=Administrator med alle rettigheter AdministratorDesc=Administrator -DefaultRights=Default Permissions -DefaultRightsDesc=Define here the default permissions that are automatically granted to a new user (to modify permissions for existing users, go to the user card). +DefaultRights=Standard tillatelser +DefaultRightsDesc=Her defineres standard tillatelser som automatisk tildeles en ny bruker (for å endre tillatelser for eksisterende brukere, gå til brukerkortet). DolibarrUsers=Dolibarrbrukere LastName=Etternavn FirstName=Fornavn @@ -66,11 +66,11 @@ CreateDolibarrThirdParty=Lag en tredjepart LoginAccountDisableInDolibarr=Kontoen er deaktivert i Dolibarr. UsePersonalValue=Bruk personlig verdi InternalUser=Intern bruker -ExportDataset_user_1=Users and their properties +ExportDataset_user_1=Brukere og deres egenskaper DomainUser=Domenebruker %s Reactivate=Reaktiver -CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +CreateInternalUserDesc=Dette skjemaet gir deg mulighet til å opprette en intern bruker til din bedrift/organisasjon. For å opprette en ekstern bruker (kunde, leverandør, ...), bruk knappen "Opprett Dolibarr-bruker" fra tredjeparts kontaktkort. +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Rettigheter innvilget fordi de er arvet av en brukegruppe. Inherited=Arvet UserWillBeInternalUser=Opprettet bruker vil være en intern bruker (fordi ikke knyttet til en bestemt tredjepart) @@ -92,8 +92,8 @@ LoginToCreate=Brukernavn å opprette NameToCreate=Navn på tredjepart til å lage YourRole=Dine roller YourQuotaOfUsersIsReached=Din kvote på aktive brukere er nådd! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Antall brukere +NbOfPermissions=Antall tillatelser DontDowngradeSuperAdmin=Bare en superadmin kan nedgradere en superadmin HierarchicalResponsible=Veileder HierarchicView=Hierarkisk visning @@ -107,6 +107,11 @@ DisabledInMonoUserMode=Deaktivert i vedlikeholds-modus UserAccountancyCode=Bruker regnskapskode UserLogoff=Brukerutlogging UserLogged=Bruker innlogget -DateEmployment=Employment Start Date -DateEmploymentEnd=Employment End Date -CantDisableYourself=You can't disable your own user record +DateEmployment=Ansettelse startdato +DateEmploymentEnd=Ansettelse sluttdato +CantDisableYourself=Du kan ikke deaktivere din egen brukeroppføring +ForceUserExpenseValidator=Tvunget utgiftsrapport-validator +ForceUserHolidayValidator=Tvunget friforespørsel-validator +ValidatorIsSupervisorByDefault=Som standard er validatoren veileder for brukeren. Hold tom for å beholde denne oppførselen. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/nb_NO/website.lang b/htdocs/langs/nb_NO/website.lang index 173ee33b996..df149546c37 100644 --- a/htdocs/langs/nb_NO/website.lang +++ b/htdocs/langs/nb_NO/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Vis side i ny fane SetAsHomePage=Sett som startside RealURL=Virkelig URL ViewWebsiteInProduction=Vis webside ved hjelp av hjemme-URL -SetHereVirtualHost=  Bruk med Apache/NGinx/...
    Hvis du kan opprette, på webserveren din (Apache, Nginx, ...), en dedikert Virtuell Vert med PHP-aktivert og en Root-katalog på
    %s
    deretter satt navnet på den virtuelle verten du har opprettet i egenskapene til nettstedet, slik at forhåndsvisningen kan gjøres også ved hjelp av denne dedikerte webservertilgangen i stedet for den interne Dolibarr-serveren. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Eksempel på Apache virtuelt vertsoppsett: YouCanAlsoTestWithPHPS=  Bruk med PHP-innebygd server
    I utviklingsmiljø kan du foretrekke å teste nettstedet med PHP-innebygd webserver (PHP 5.5 nødvendig) ved å kjøre
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Kjør nettstedet ditt med en annen leverandør av Dolibarr Hosting
    Hvis du ikke har en webserver som Apache eller NGinx tilgjengelig på internett, kan du eksportere og importere nettstedet til en annen Dolibarr-forekomst levert av en annen Dolibarr-leverandør som gir full integrasjon med nettstedsmodulen. Du kan finne en liste over noen Dolibarr-vertsleverandører på https://saas.dolibarr.org CheckVirtualHostPerms=Sjekk også at virtuell vert har tillatelse %s på filer til
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Beklager, dette nettstedet er for øyeblikket off WEBSITE_USE_WEBSITE_ACCOUNTS=Aktiver nettstedkontotabellen WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Aktiver tabellen for å lagre nettstedkontoer (innlogging/pass) for hvert nettsted/tredjepart YouMustDefineTheHomePage=Du må først definere standard startside -OnlyEditionOfSourceForGrabbedContentFuture=Advarsel: Å opprette en nettside ved å importere en ekstern nettside er for erfarne brukere. Avhengig av kompleksiteten til kildesiden, kan resultatet av importen avvike fra originalen. Også hvis kildesiden bruker vanlige CSS-stiler eller motstridende javascript, kan det ødelegge utseendet eller funksjonene til nettsideeditoren når du arbeider på denne siden. Denne metoden er en raskere måte å opprette en side på, men det anbefales å lage din nye side fra grunnen av eller fra en foreslått sidemal.
    Vær også oppmerksom på at endringer i HTML-kilden vil være mulig når sideinnholdet er initialisert ved å ta det fra en ekstern side ("Online" editor vil IKKE være tilgjengelig) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Kun HTML-kilde er mulig når innholdet ble tatt fra et eksternt nettsted GrabImagesInto=Hent bilder som er funnet i css og side også. ImagesShouldBeSavedInto=Bilder bør lagres i katalogen @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For god SEO-praksis, bruk en tekst mellom 5 og 70 tegn MainLanguage=Hovedspråk OtherLanguages=Andre språk UseManifest=Oppgi en manifest.json-fil +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/nl_BE/admin.lang b/htdocs/langs/nl_BE/admin.lang index 8de85c22445..527f9da1546 100644 --- a/htdocs/langs/nl_BE/admin.lang +++ b/htdocs/langs/nl_BE/admin.lang @@ -60,7 +60,6 @@ ExportStructure=Struktuur NameColumn=Kollomennaam FeatureAvailableOnlyOnStable=Functie alleen beschikbaar op officiële stabiele versies BoxesDesc=Widgets zijn componenten die informatie tonen die u kunt toevoegen om sommige pagina's te personaliseren. U kunt kiezen tussen het weergeven van de widget of niet door de doelpagina te selecteren en op 'Activeren' te klikken, of door op de prullenbak te klikken om deze uit te schakelen. -ModulesDesc=De modules / applicaties bepalen welke functies beschikbaar zijn in de software. Sommige modules vereisen dat machtigingen worden verleend aan gebruikers na het activeren van de module. Klik op de aan / uitknop (aan het einde van de moduleregel) om een module / toepassing in of uit te schakelen. ModulesMarketPlaceDesc=Je kan meer modules vinden door te zoeken op andere externe websites, waar je ze kan downloaden ModulesMarketPlaces=Zoek externe app / modules ModulesDevelopYourModule=Ontwikkel je eigen app / modules @@ -118,6 +117,7 @@ SetupIsReadyForUse=Module-implementatie is voltooid. U moet de module in uw toep NotExistsDirect=De alternatieve hoofdmap is niet gedefinieerd voor een bestaande map.
    InfDirAlt=Sinds versie 3 is het mogelijk om een alternatieve rootmap te definiëren. Hiermee kunt u in een speciale map plug-ins en aangepaste sjablonen opslaan.
    Maak gewoon een map aan in de root van Dolibarr (bv: aangepast).
    InfDirExample=
    Verklaar het dan in het bestand conf.php
    $ Dolibarr_main_url_root_alt='/custom'
    $ Dolibarr_main_document_root_alt='/pad/of/Dolibarr/htdocs/custom'
    Als deze regels worden becommentarieerd met "#", schakelt u ze gewoon uit door het teken "#" te verwijderen. +YouCanSubmitFile=You can upload the .zip file of module package from here: LastStableVersion=Nieuwste stabiele versie GenericMaskCodes2={cccc} de clientcode van n tekens
    {cccc000} de klantcode op n tekens wordt gevolgd door een teller voor de klant. Deze teller die aan de klant is toegewezen, wordt tegelijkertijd opnieuw ingesteld als de globale teller.
    {tttt} De code van het type van een derde partij op n tekens (zie menu Home - Instellingen - Woordenboek - Typen derde partijen). Als u deze tag toevoegt, verschilt de teller voor elk type derde partij.
    GenericMaskCodes4a=Voorbeeld op de 99e %s van de derde partij TheCompany, met datum 31-01-2007:
    @@ -161,6 +161,7 @@ ModuleCompanyCodePanicum=Retourneer een lege boekhoudcode. Module40Name=Verkoper Module1780Name=Labels/Categorien Module1780Desc=Label/categorie maken (producten, klanten, leveranciers, contacten of leden) +Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). Permission1004=Bekijk voorraadmutaties Permission1005=Creëren / wijzigen voorraadmutaties ValueOfConstantKey=Value of a configuration constant diff --git a/htdocs/langs/nl_BE/bills.lang b/htdocs/langs/nl_BE/bills.lang index 342d138fb72..f6ea88ac2fd 100644 --- a/htdocs/langs/nl_BE/bills.lang +++ b/htdocs/langs/nl_BE/bills.lang @@ -4,6 +4,10 @@ BillsCustomer=Klantfactuur BillsCustomersUnpaid=Onbetaalde klantfacturen BillsCustomersUnpaidForCompany=Onbetaalde afnemersfacturen voor %s DisabledBecauseNotErasable=Niet mogelijk omdat het niet kan worden gewist +PaymentBack=Teruggave +CustomerInvoicePaymentBack=Teruggave +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? CreateCreditNote=Aanmaak krediet nota DoPayment=Doe een betaling DoPaymentBack=Doe een terugbetaling @@ -35,6 +39,7 @@ PaymentTypeTRA=Bank cheque ChequeMaker=Cheque / Transfer uitvoerder DepositId=Id storting ShowUnpaidAll=Bekijk alle onbetaalde facturen +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template TypeContact_facture_external_BILLING=Klant contact NotLastInCycle=Deze factuur is niet de laatste in de rij en mag niet worden aangepast. PDFCrevetteSituationInvoiceLineDecompte=Situatie factuur - AANTAL diff --git a/htdocs/langs/nl_BE/compta.lang b/htdocs/langs/nl_BE/compta.lang index c811b8fa19c..26787bfc20f 100644 --- a/htdocs/langs/nl_BE/compta.lang +++ b/htdocs/langs/nl_BE/compta.lang @@ -24,7 +24,6 @@ ConfirmDeleteSocialContribution=Bent u zeker dat u deze sociale bijdrage/belasti ExportDataset_tax_1=sociale bijdragen/belastingen en betalingen CalcModeLT1Debt=Modus %sRE op afnemersfacturen%s CalcModeLT1Rec=Modus %sRE op leveranciersfacturen%s -RulesResultDue=- Dit omvat openstaande facturen, uitgaven, BTW, donaties, zowel betaald als niet. Dit omvat eveneens betaalde lonen.
    - Dit is gebaseerd op de validatiedatum van facturen, BTW en de vervaldatum voor uitgaven. Voor lonen die gedefinieerd zijn in de Salaris-module is de datum van betaling gebruikt. RulesResultInOut=- Dit omvat alle betalingen van facturen, uitgaven, BTW en lonen.
    - Dit is gebaseerd op de betalingsdata van de facturen, uitgaven, BTW en lonen. De donatiedatum voor donaties. PurchasesJournal=Inkoopdagboek DescPurchasesJournal=Inkoopdagboek diff --git a/htdocs/langs/nl_BE/other.lang b/htdocs/langs/nl_BE/other.lang index 5bdc98b4c0b..1ffbb0bb385 100644 --- a/htdocs/langs/nl_BE/other.lang +++ b/htdocs/langs/nl_BE/other.lang @@ -3,5 +3,4 @@ Notify_COMPANY_CREATE=Third party aangemaakt FileIsTooBig=Bestanden zijn te groot WebsiteSetup=Setup van de module website WEBSITE_PAGEURL=URL van de pagina -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. WEBSITE_KEYWORDS=Trefwoorden diff --git a/htdocs/langs/nl_BE/users.lang b/htdocs/langs/nl_BE/users.lang index 83e85755523..161657b3cc9 100644 --- a/htdocs/langs/nl_BE/users.lang +++ b/htdocs/langs/nl_BE/users.lang @@ -12,7 +12,6 @@ LastGroupsCreated=Nieuwste %s groepen gemaakt LastUsersCreated=Laatste %s gemaakte gebruikers CreateDolibarrThirdParty=Maak Derden CreateInternalUserDesc=Met dit formulier kunt u een interne gebruiker in uw bedrijf / organisatie maken. Om een externe gebruiker (klant, leverancier enz.) Aan te maken, gebruikt u de knop 'Maak Dolibarr Gebruiker aan' van de contactkaart van die partij. -InternalExternalDesc=Een interne gebruiker is een gebruiker die deel uitmaakt van uw bedrijf / organisatie.
    Een externe gebruiker is een klant, verkoper of andere.

    In beide gevallen definieert machtiging rechten op Dolibarr, ook kan de externe gebruiker een ander menu-manager hebben dan de interne gebruiker (zie Home - Setup - Display) ConfirmCreateContact=Weet u zeker dat u een Dolibarr account wilt maken voor deze contactpersoon? ConfirmCreateThirdParty=Weet u zeker dat u een 'derde' wilt maken voor dit lid? NbOfPermissions=Aantal toestemmingen diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index 7875a74a1c2..b83e9d0cf25 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Opmerking: uw PHP-configuratie beperkt momenteel NoMaxSizeByPHPLimit=Opmerking: Geen limiet ingesteld in uw PHP instellingen MaxSizeForUploadedFiles=Maximale grootte voor geüploade bestanden (0 om uploaden niet toe te staan) UseCaptchaCode=Gebruik een grafische code (CAPTCHA) op de aanmeldingspagina (SPAM preventie) -AntiVirusCommand= Het volledige pad naar het antiviruscommando -AntiVirusCommandExample= Voorbeeld voor ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Voorbeeld voor ClamAv: /usr/bin/clamscan +AntiVirusCommand=Het volledige pad naar het antiviruscommando +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Aanvullende parameters op de opdrachtregel -AntiVirusParamExample= Voorbeeld voor ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Instellingen van de boekhoudkundige module UserSetup=Gebruikersbeheer instellingen MultiCurrencySetup=Setup meerdere valuta's @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Functionaliteit uitgeschakeld in de demonstratie FeatureAvailableOnlyOnStable=Functie alleen beschikbaar bij officiële stabiele versies BoxesDesc=Widgets zijn componenten die informatie tonen die u kunt toevoegen om sommige pagina's te personaliseren. U kunt kiezen of u de widget wilt weergeven of niet door de doelpagina te selecteren en op 'Activeren' te klikken of door op de prullenbak te klikken om deze uit te schakelen. OnlyActiveElementsAreShown=Alleen elementen van ingeschakelde modules worden getoond. -ModulesDesc=De modules / applicaties bepalen welke functies beschikbaar zijn in de software. Sommige modules vereisen dat machtigingen worden verleend aan gebruikers na het activeren van de module. Klik op de aan / uit knop (aan het einde van de module lijn) aan / uit te schakelen een module / applicatie. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=U kunt meer modules downloaden van externe websites op het internet... ModulesDeployDesc=Als machtigingen op uw bestandssysteem dit toestaan, kunt u dit hulpprogramma gebruiken om een externe module te implementeren. De module is dan zichtbaar op het tabblad %s . ModulesMarketPlaces=Vind externe apps of modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatibel met versie %s NotCompatible=Deze module lijkt niet compatibel met uw Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Deze module vereist een update van uw Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Zie op de Marktplaats +SeeSetupOfModule=See setup of module %s Updated=Bijgewerkt Nouveauté=Nieuwigheid AchatTelechargement=Kopen/Downloaden @@ -221,6 +222,7 @@ DoliPartnersDesc=Lijst van bedrijven die op maat ontwikkelde modules of functies WebSiteDesc=Externe websites voor meer add-on (niet-core) modules ... DevelopYourModuleDesc=Enkele oplossingen om uw eigen module te ontwikkelen ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Beschikbare widgets BoxesActivated=Widgets geactiveerd ActivateOn=Activeren op @@ -328,7 +330,7 @@ SetupIsReadyForUse=Module-implementatie is voltooid. U moet de module in uw toep NotExistsDirect=De alternatieve hoofdmap is niet gedefinieerd in een bestaande map.
    InfDirAlt=Vanaf versie 3 is het mogelijk om een alternatieve root directory te definiëren. Dit stelt je in staat om op dezelfde plaats zowel plug-ins als eigen templates te bewaren.
    Maak gewoon een directory op het niveau van de root van Dolibarr (bv met de naam: aanpassing).
    InfDirExample=
    Leg dit vast in het bestand conf.php
    $dolibarr_main_url_root_alt='/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    Als deze lijnen zijn inactief gemaakt met een "#" teken, verwijder dit teken dan om ze te activeren. -YouCanSubmitFile=You can upload the .zip file of module package from here: +YouCanSubmitFile=U kunt het .zip-bestand van het modulepakket vanaf hier uploaden: CurrentVersion=Huidige versie van Dolibarr CallUpdatePage=Blader naar de pagina die de databasestructuur en gegevens bijwerkt: %s. LastStableVersion=Laatste stabiele versie @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Laat leeg om standaardwaarde te gebruiken DefaultLink=Standaard link SetAsDefault=Gebruik standaard ValueOverwrittenByUserSetup=Waarschuwing, deze waarde kan worden overschreven door de gebruiker specifieke setup (elke gebruiker kan zijn eigen ClickToDial url ingestellen) -ExternalModule=Externe module - geïnstalleerd in map %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Massa streepjescode initialisatie relaties BarcodeInitForProductsOrServices=Mass barcode init of reset voor producten of diensten CurrentlyNWithoutBarCode=Momenteel hebt u een %s record op %s%s zonder gedefinieerde streepjescode. @@ -642,7 +645,7 @@ Module50000Desc=Bied klanten een PayBox online betaalpagina (credit / debit card Module50100Name=POS SimplePOS Module50100Desc=Point of Sale-module SimplePOS (eenvoudige POS). Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Point of Sale module TakePOS (touchscreen POS, voor winkels, bars of restaurants). Module50200Name=Paypal Module50200Desc=Bied klanten een PayPal-online betaalpagina (PayPal-account of credit- / debetkaarten). Dit kan worden gebruikt om uw klanten toe te staan ad-hocbetalingen te doen of betalingen gerelateerd aan een specifiek Dolibarr-object (factuur, bestelling, enz ...) Module50300Name=Stripe @@ -947,7 +950,7 @@ DictionaryCanton=Staten / Provincies DictionaryRegion=Regio DictionaryCountry=Landen DictionaryCurrency=Valuta -DictionaryCivility=Titel van de beleefdheid +DictionaryCivility=Honorific titles DictionaryActions=Agenda evenementen DictionarySocialContributions=Soorten sociale of fiscale belastingen DictionaryVAT=BTW-tarieven of Verkoop Tax tarieven @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Standaard is de voorgestelde BTW 0. Dit kan gebruikt worden in VATIsUsedExampleFR=In Frankrijk betekent dit dat bedrijven of organisaties een echt fiscaal systeem hebben (Vereenvoudigd echt of normaal echt). Een systeem waarin btw wordt aangegeven. VATIsNotUsedExampleFR=In Frankrijk betekent dit verenigingen die niet-omzetbelasting zijn aangegeven of bedrijven, organisaties of vrije beroepen die hebben gekozen voor het micro-onderneming fiscale systeem (omzetbelasting in franchise) en een franchise omzetbelasting hebben betaald zonder aangifte omzetbelasting. Bij deze keuze wordt de verwijzing "Niet van toepassing omzetbelasting - art-293B van CGI" op facturen weergegeven. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Tarief LocalTax1IsNotUsed=Gebruik geen tweede belasting LocalTax1IsUsedDesc=Gebruik een tweede type belasting (anders dan de eerste) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Het IRPF-tarief standaard bij het maken van prospects, fac LocalTax2IsNotUsedDescES=Standaard is de voorgestelde IRPF 0. Einde van de regel. LocalTax2IsUsedExampleES=In Spanje, freelancers en onafhankelijke professionals die diensten aanbieden alsmede bedrijven die voor het belastingsysteem van modules hebben gekozen. LocalTax2IsNotUsedExampleES=In Spanje zijn het bedrijven die niet onderworpen zijn aan het belastingstelsel van modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Rapporten over lokale belastingen CalcLocaltax1=Verkopen - Aankopen CalcLocaltax1Desc=Lokale belastings rapporten worden berekend met het verschil tussen verkopen en aankopen @@ -1018,6 +1025,7 @@ CalcLocaltax2=Aankopen CalcLocaltax2Desc=Lokale Belastingen rapporten zijn het totaal van balastingen aankopen CalcLocaltax3=Verkopen CalcLocaltax3Desc=Lokale Belastingen rapporten zijn het totaal van belastingen verkoop +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Standaard te gebruiken label indien er geen vertaling kan worden gevonden voor de code LabelOnDocuments=Etiket op documenten LabelOrTranslationKey=Label- of vertaalsleutel @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Onkostendeclaratie ter goedkeuring Delays_MAIN_DELAY_HOLIDAYS=Verzoek voor goedkeuring SetupDescription1=Voordat u Dolibarr begint te gebruiken, moeten enkele beginparameters worden gedefinieerd en modules ingeschakeld / geconfigureerd. SetupDescription2=De volgende twee secties zijn verplicht (de twee eerste vermeldingen in het Setup-menu): -SetupDescription3=%s -> %s
    Basisparameters die worden gebruikt om het standaardgedrag van uw toepassing aan te passen (bijvoorbeeld voor landgerelateerde functies). -SetupDescription4=%s -> %s
    Deze software is een pakket van vele modules / applicaties, allemaal min of meer onafhankelijk. De modules die relevant zijn voor uw behoeften, moeten worden ingeschakeld en geconfigureerd. Nieuwe items / opties worden toegevoegd aan menu's met de activering van een module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Andere items in het Setup-menu beheren optionele parameters. LogEvents=Veiligheidsauditgebeurtenissen Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Schakel logboekregistratie in voor specifieke beveiligingsgebeurten AreaForAdminOnly=Setup functies kunnen alleen door Administrator gebruikers worden ingesteld SystemInfoDesc=Systeeminformatie is technische informatie welke u in alleen-lezen modus krijgt en alleen door beheerders is in te zien. SystemAreaForAdminOnly=Dit gebied is alleen beschikbaar voor beheerders. Gebruikersrechten van Dolibarr kunnen deze beperking niet wijzigen. -CompanyFundationDesc=Bewerk de informatie van het bedrijf / de entiteit. Klik op de knop "%s" onderaan de pagina. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Als u een externe accountant / boekhouder hebt, kunt u hier de informatie bewerken. AccountantFileNumber=Accountant code DisplayDesc=Parameters die het uiterlijk en gedrag van Dolibarr beïnvloeden, kunnen hier worden gewijzigd. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Regels om wachtwoorden te genereren en te valideren DisableForgetPasswordLinkOnLogonPage=De link "Wachtwoord vergeten" niet weergeven op de aanmeldingspagina UsersSetup=Gebruikersmoduleinstellingen UserMailRequired=E-mail vereist om een nieuwe gebruiker te maken +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Instellingen HRM module ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Factuur documentsjablonen BillsPDFModulesAccordindToInvoiceType=Factuur documenteert modellen volgens factuurtype PaymentsPDFModules=Modellen betaal documenten ForceInvoiceDate=Forceer factuurdatum naar validatiedatum -SuggestedPaymentModesIfNotDefinedInInvoice=Voorgestelde betaalwijze standaard op de factuur, indien niet ingesteld voor de betreffende factuur +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Stel de betaling voor door opname op rekening SuggestPaymentByChequeToAddress=Stel betaling per cheque voor aan FreeLegalTextOnInvoices=Vrije tekst op facturen @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Instelling leveranciersbetalingen PropalSetup=Offertemoduleinstellingen ProposalsNumberingModules=Offertenummeringmodules ProposalsPDFModules=Offertedocumentsjablonen -SuggestedPaymentModesIfNotDefinedInProposal=Voorgestelde betalingsmodus op voorstel standaard indien niet gedefinieerd voor voorstel +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Vrije tekst op Offertes WatermarkOnDraftProposal=Watermerk op ontwerp offertes (geen indien leeg) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Vraag naar bankrekening bestemming van het voorstel @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Vraag te gebruiken magazijn bij order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Vraag naar bankrekeningbestemming van bestelling ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Beheer van verkooporders OrdersNumberingModules=Opdrachtennummeringmodules OrdersModelModule=Oprachtendocumentsjablonen @@ -1686,9 +1697,9 @@ CashDeskIdWareHouse=Kies magazijn te gebruiken voor voorraad daling StockDecreaseForPointOfSaleDisabled=Voorraadafname vanaf verkooppunt uitgeschakeld StockDecreaseForPointOfSaleDisabledbyBatch=Voorraadafname in POS is niet compatibel met module Serieel / Lotbeheer (momenteel actief), dus voorraadafname is uitgeschakeld. CashDeskYouDidNotDisableStockDecease=U hebt de voorraaddaling niet uitgeschakeld bij een verkoop vanuit het verkooppunt. Daarom is een magazijn vereist. -CashDeskForceDecreaseStockLabel=Stock decrease for batch products was forced. -CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dates. -CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) +CashDeskForceDecreaseStockLabel=Afname van voorraad voor batchproducten werd geforceerd. +CashDeskForceDecreaseStockDesc=Verlaag eerst met de oudste eet- en verkoopdata. +CashDeskReaderKeyCodeForEnter=Code voor "Enter" gedefinieerd in barcodescanner (Voorbeeld: 13) ##### Bookmark ##### BookmarkSetup=Weblinkmoduleinstellingen BookmarkDesc=Met deze module kunt u bladwijzers beheren. U kunt ook snelkoppelingen toevoegen aan Dolibarr-pagina's of externe websites in het linkermenu. @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Waarschuwing, hogere waarden vertragen ModuleActivated=Module %s is geactiveerd en vertraagt de interface EXPORTS_SHARE_MODELS=Exportmodellen zijn met iedereen te delen ExportSetup=Installatie van exportmodule +ImportSetup=Instellen van module Import InstanceUniqueID=Uniek ID van de instantie SmallerThan=Kleiner dan LargerThan=Groter dan @@ -1972,12 +1984,14 @@ ConfirmDeleteEmailCollector=Weet je zeker dat je deze e-mailverzamelaar wilt ver RecipientEmailsWillBeReplacedWithThisValue=E-mails van ontvangers worden altijd vervangen door deze waarde AtLeastOneDefaultBankAccountMandatory=Er moet minimaal 1 standaardbankrekening worden gedefinieerd RESTRICT_ON_IP=Alleen toegang tot bepaalde host-IP's toestaan (jokerteken niet toegestaan, gebruik ruimte tussen waarden). Leeg betekent dat elke gastheer toegang heeft. -IPListExample=127.0.0.1 192.168.0.2 [::1] +IPListExample=127.0.0.1 192.168.0.2 [:: 1] BaseOnSabeDavVersion=Gebaseerd op de SabreDAV-versie van de bibliotheek NotAPublicIp=Geen openbaar IP MakeAnonymousPing=Maak een anonieme ping '+1' naar de Dolibarr-funderingsserver (1 keer alleen gedaan na installatie) zodat de stichting het aantal Dolibarr-installaties kan tellen. FeatureNotAvailableWithReceptionModule=Functie niet beschikbaar wanneer module-ontvangst is ingeschakeld EmailTemplate=Sjabloon voor e-mail EMailsWillHaveMessageID=E-mails hebben een tag 'Verwijzingen' die overeenkomen met deze syntaxis -PDF_USE_ALSO_LANGUAGE_CODE=Als u een bepaalde teksttitel in uw PDF wilt dupliceren in 2 verschillende talen in dezelfde PDF, moet u hier deze tweede taal instellen, zodat de gegenereerde PDF 2 verschillende talen op dezelfde pagina bevat, de taal die is gekozen bij het genereren van PDF en deze (slechts enkele PDF-sjablonen ondersteunen dit). Voor 1 taal per PDF laat u dit leeg. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +FafaIconSocialNetworksDesc=Voer hier de code van een FontAwesome-pictogram in. Als je niet weet wat FontAwesome is, kun je het generieke waarde fa-adresboek gebruiken. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index 7b5dd51d05f..7e711e58431 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -66,9 +66,9 @@ paymentInInvoiceCurrency=Factuur valuta PaidBack=Terugbetaald DeletePayment=Betaling verwijderen ConfirmDeletePayment=Weet u zeker dat u deze betaling wilt verwijderen? -ConfirmConvertToReduc=Wilt u deze %s omzetten in een korting? +ConfirmConvertToReduc=Wilt u deze %s omzetten in een beschikbaar tegoed? ConfirmConvertToReduc2=Het bedrag wordt opgeslagen bij alle kortingen en kan worden gebruikt als korting voor een huidige of toekomstige factuur voor deze klant. -ConfirmConvertToReducSupplier=Wilt u deze %s omzetten in een korting? +ConfirmConvertToReducSupplier=Wilt u deze %s omzetten in een beschikbaar tegoed? ConfirmConvertToReducSupplier2=Het bedrag wordt opgeslagen bij alle kortingen en kan worden gebruikt als korting voor een huidige of toekomstige factuur voor deze leverancier. SupplierPayments=Leveranciersbetalingen ReceivedPayments=Ontvangen betalingen @@ -219,7 +219,10 @@ ShowInvoiceSituation=Situatie factuur weergeven UseSituationInvoices=Situatiefactuur toestaan UseSituationInvoicesCreditNote=Toestaan factuur creditnota Retainedwarranty=Ingehouden garantie +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Standaardgarantiepercentage behouden +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Te betalen op %s toPayOn=te betalen op %s RetainedWarranty=Ingehouden garantie @@ -509,11 +512,11 @@ ToMakePayment=Betaal ToMakePaymentBack=Terugbetalen ListOfYourUnpaidInvoices=Lijst van onbetaalde facturen NoteListOfYourUnpaidInvoices=Nota: deze lijst bevat enkel facturen voor derde partijen waarvoor je als verkoopsvertegenwoordiger aangegeven bent. -RevenueStamp=Taxzegel +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Deze optie is alleen beschikbaar wanneer u een factuur maakt op het tabblad "Klant" van een relatie YouMustCreateInvoiceFromSupplierThird=Deze optie is alleen beschikbaar bij het maken van een factuur op het tabblad "Leverancier" bij relatie YouMustCreateStandardInvoiceFirstDesc=Maak eerst een standaard factuur en converteer naar een sjabloon om deze als sjabloon te gebruiken -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Factuur PDF-sjabloon Crabe. Een volledig factuursjabloon PDFSpongeDescription=Factuur PDF-sjabloon Sponge. Een complete sjabloon voor een factuur PDFCrevetteDescription=Factuur PDF-sjabloon 'Crevette'. Een compleet sjabloon voor facturen TerreNumRefModelDesc1=Geeft een getal in de vorm van %syymm-nnnn voor standaard facturen en %syymm-nnnn voor creditnota's, met yy voor jaar, mm voor maand en nnnn als opeenvolgende getallenreeks die niet terug op 0 komt @@ -575,3 +578,4 @@ AutoFillDateTo=Stel de einddatum in voor de servicelijn met de volgende factuur- AutoFillDateToShort=Tot datum MaxNumberOfGenerationReached=Max aantal gegenereerd bereikt BILL_DELETEInDolibarr=Factuur verwijderd +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/nl_NL/blockedlog.lang b/htdocs/langs/nl_NL/blockedlog.lang index 296cc06c956..ef56512687e 100644 --- a/htdocs/langs/nl_NL/blockedlog.lang +++ b/htdocs/langs/nl_NL/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Niet aanpasbare logboeken ShowAllFingerPrintsMightBeTooLong=Toon alle gearchiveerde logs (kunnen lang zijn) ShowAllFingerPrintsErrorsMightBeTooLong=Toon alle ongeldige archieflogboeken (kunnen lang zijn) DownloadBlockChain=Vingerafdrukken downloaden -KoCheckFingerprintValidity=Gearchiveerde logboekinvoer is niet geldig. Het betekent dat iemand (een hacker?) Sommige gegevens van deze opname heeft gewijzigd nadat deze is opgenomen, of de vorige gearchiveerde record heeft gewist (controleer of die regel met vorige # bestaat). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Gearchiveerde logboekrecord is geldig. De gegevens op deze regel zijn niet gewijzigd en de invoer volgt op de vorige. OkCheckFingerprintValidityButChainIsKo=Gearchiveerd log lijkt geldig in vergelijking met de vorige, maar de ketting was eerder beschadigd. AddedByAuthority=Opgeslagen in autoriteit op afstand diff --git a/htdocs/langs/nl_NL/cashdesk.lang b/htdocs/langs/nl_NL/cashdesk.lang index 0b39ffc7cc6..cb263dc77e9 100644 --- a/htdocs/langs/nl_NL/cashdesk.lang +++ b/htdocs/langs/nl_NL/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Voeg dit artikel RestartSelling=Ga terug op de verkopen SellFinished=Verkoop gereed PrintTicket=Print bon +SendTicket=Send ticket NoProductFound=Geen artikel gevonden ProductFound=product gevonden NoArticle=Geen artikel @@ -48,6 +49,7 @@ Footer=Voetnoot AmountAtEndOfPeriod=Bedrag aan het einde van de periode (dag, maand of jaar) TheoricalAmount=Theoretisch bedrag RealAmount=Aanwezig bedrag +CashFence=Cash fence CashFenceDone=Kas te ontvangen voor de periode NbOfInvoices=Aantal facturen Paymentnumpad=Soort betaling om de betaling in te voeren @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS heeft product-categorieën nodig om te werken OrderNotes=Verkoop notities CashDeskBankAccountFor=Standaardrekening voor betalingen NoPaimementModesDefined=Geen betaalmethode gedefinieerd in TakePOS-configuratie -TicketVatGrouped=Groeps BTW per tarief in bonnen -AutoPrintTickets=Bonnen automatisch afdrukken +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Functies inschakelen voor Bar of Restaurant ConfirmDeletionOfThisPOSSale=Bevestig je de verwijdering van deze huidige verkoop? ConfirmDiscardOfThisPOSSale=Wilt u deze huidige verkoop weggooien? @@ -87,7 +90,19 @@ HeadBar=Hoofdbalk SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/nl_NL/companies.lang b/htdocs/langs/nl_NL/companies.lang index 116a2b34dc0..024acf55a55 100644 --- a/htdocs/langs/nl_NL/companies.lang +++ b/htdocs/langs/nl_NL/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Bedrijf '%s' verwijderd uit de database. ListOfContacts=Contactpersonen- / adressenlijst ListOfContactsAddresses=Contactpersonen- / adressenlijst ListOfThirdParties=Lijst van derden -ShowCompany=Derde partij weergeven ShowContact=Toon contactpersoon ContactsAllShort=Alle (Geen filter) ContactType=Type contactpersoon @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Vertegenwoordiger voornaam SaleRepresentativeLastname=Vertegenwoordiger achternaam ErrorThirdpartiesMerge=Er is een fout opgetreden bij het verwijderen van de relatie. Controleer het log. Wijzigingen zijn ongedaan gemaakt. NewCustomerSupplierCodeProposed=Klant- of leverancierscode die al wordt gebruikt, wordt een nieuwe code voorgesteld +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Betalingswijze - Klant PaymentTermsCustomer=Betalingsvoorwaarden - Klant diff --git a/htdocs/langs/nl_NL/compta.lang b/htdocs/langs/nl_NL/compta.lang index 52f8a29e7ff..e1bc8bc0087 100644 --- a/htdocs/langs/nl_NL/compta.lang +++ b/htdocs/langs/nl_NL/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Zie %sanalyse van betalingen%s voor een berekening va SeeReportInDueDebtMode=Zie %sanalyse van facturen%s voor een berekening op basis van bekende geregistreerde facturen, zelfs als deze nog niet in Ledger zijn geregistreerd. SeeReportInBookkeepingMode=Zie %s Boekhoudverslag%s voor een berekening op de boekhoudboekentabel RulesAmountWithTaxIncluded=- Bedragen zijn inclusief alle belastingen -RulesResultDue=- Het omvat openstaande facturen, uitgaven, btw, donaties, of ze nu zijn betaald of niet. Is ook inclusief betaalde salarissen.
    - Het is gebaseerd op de validatiedatum van facturen en btw en op de vervaldatum voor uitgaven. Voor salarissen die zijn gedefinieerd met de module Salaris, wordt de valutadatum gebruikt. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Het omvat de echte betalingen op facturen, uitgaven, btw en salarissen.
    - Het is gebaseerd op de betalingsdatums van de facturen, uitgaven, btw en salarissen. De donatiedatum voor donatie. -RulesCADue=- Het omvat de verschuldigde facturen van de klant, ongeacht of deze zijn betaald of niet.
    - Het is gebaseerd op de validatiedatum van deze facturen.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Het omvat alle effectieve betalingen van facturen ontvangen van klanten.
    - Het is gebaseerd op de betaaldatum van deze facturen
    RulesCATotalSaleJournal=Het omvat alle kredietlijnen uit het verkoopdagboek. RulesAmountOnInOutBookkeepingRecord=Het bevat een record in uw grootboek met boekhoudrekeningen met de groep "KOSTEN" of "INKOMSTEN" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Omzet gefactureerd per omzetbelasting-tarief TurnoverCollectedbyVatrate=Omzet per BTW tarief PurchasebyVatrate=Aankoop bij verkoop belastingtarief LabelToShow=Kort label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index df860672f08..87185fbba02 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Het bestand is niet volledig ontvangen door de server. ErrorNoTmpDir=Tijdelijke map %s bestaat niet. ErrorUploadBlockedByAddon=Upload geblokkeerd door een PHP- en / of Apache-plugin. ErrorFileSizeTooLarge=Bestand is te groot. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Grootte te lang voor int type (%s cijfers maximum) ErrorSizeTooLongForVarcharType=Grootte te lang voor string type (%s tekens maximum) ErrorNoValueForSelectType=Vul waarde in voor selectielijst @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Uw PHP-parameter upload_max_filesize (%s) is hoger dan PHP-parameter post_max_size (%s). Dit is geen consistente opstelling. WarningPasswordSetWithNoAccount=Er is een wachtwoord ingesteld voor dit lid. Er is echter geen gebruikersaccount gemaakt. Dus dit wachtwoord is opgeslagen maar kan niet worden gebruikt om in te loggen bij Dolibarr. Het kan worden gebruikt door een externe module / interface, maar als u geen gebruikersnaam of wachtwoord voor een lid hoeft aan te maken, kunt u de optie "Beheer een login voor elk lid" in de module-setup van Member uitschakelen. Als u een login moet beheren maar geen wachtwoord nodig heeft, kunt u dit veld leeg houden om deze waarschuwing te voorkomen. Opmerking: e-mail kan ook worden gebruikt als login als het lid aan een gebruiker is gekoppeld. diff --git a/htdocs/langs/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index d86854df90c..2bd6574b9fd 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Deze PHP ondersteunt Curl. PHPSupportCalendar=Deze PHP ondersteunt kalendersextensies. PHPSupportUTF8=Deze PHP ondersteunt UTF8-functies. PHPSupportIntl=Deze PHP ondersteunt Intl-functies. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=Deze PHP ondersteunt %s-functies. PHPMemoryOK=Het maximale sessiegeheugen van deze PHP installatie is ingesteld op %s. Dit zou genoeg moeten zijn. PHPMemoryTooLow=Uw PHP max sessie-geheugen is ingesteld op %s bytes. Dit is te laag. Wijzig uw php.ini om de parameter memory_limit in te stellen op ten minste %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Uw PHP versie ondersteunt geen Curl. ErrorPHPDoesNotSupportCalendar=Uw PHP-installatie ondersteunt geen php-agenda-extensies. ErrorPHPDoesNotSupportUTF8=Uw PHP-installatie ondersteunt geen UTF8-functies. Dolibarr kan niet correct werken. Los dit op voordat u Dolibarr installeert. ErrorPHPDoesNotSupportIntl=Uw PHP-installatie ondersteunt geen Intl-functies. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Uw PHP-installatie ondersteunt geen %s-functies. ErrorDirDoesNotExists=De map %s bestaat niet. ErrorGoBackAndCorrectParameters=Ga terug en controleer / corrigeer de parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=De toepassing probeerde zelf te upgraden, maar de YouTryInstallDisabledByFileLock=De applicatie probeerde zelf te upgraden, maar de installatie / upgrade-pagina's zijn om veiligheidsredenen uitgeschakeld (door het bestaan van een slotbestand install.lock in de dolibarr-documentenmap).
    ClickHereToGoToApp=Klik hier om naar uw toepassing te gaan ClickOnLinkOrRemoveManualy=Klik op de volgende link. Als u altijd dezelfde pagina ziet, moet u het bestand install.lock verwijderen / hernoemen in de documentenmap. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/nl_NL/link.lang b/htdocs/langs/nl_NL/link.lang index 511af212552..b7a45ea8938 100644 --- a/htdocs/langs/nl_NL/link.lang +++ b/htdocs/langs/nl_NL/link.lang @@ -8,3 +8,4 @@ LinkRemoved=De koppeling %s is verwijderd ErrorFailedToDeleteLink= Kon de verbinding '%s' niet verwijderen ErrorFailedToUpdateLink= Kon verbinding '%s' niet bijwerken URLToLink=URL naar link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/nl_NL/mails.lang b/htdocs/langs/nl_NL/mails.lang index 1f5a3213894..2897086d4bb 100644 --- a/htdocs/langs/nl_NL/mails.lang +++ b/htdocs/langs/nl_NL/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Geen contact / adres met een categorie gevonden NoContactLinkedToThirdpartieWithCategoryFound=Geen contact / adres met een categorie gevonden OutGoingEmailSetup=Instellingen uitgaande e-mail InGoingEmailSetup=Instellingen inkomende e-mail -OutGoingEmailSetupForEmailing=Instelling uitgaande e-mail (voor massale e-mail) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Standaard uitgaande e-mail instellen Information=Informatie ContactsWithThirdpartyFilter=Contacten met filter van derden diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 1c75753876c..eec6c8d732b 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Opslaan en blijven SaveAndNew=Opslaan en nieuw TestConnection=Test verbinding ToClone=Klonen +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Kies gegevens die u wilt klonen: NoCloneOptionsSpecified=Geen gegevens om te klonen gedefinieerd. Of=van @@ -829,6 +830,8 @@ Gender=Geslacht Genderman=Man Genderwoman=Vrouw ViewList=Bekijk lijst +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Verplicht Hello=Hallo GoodBye=Tot ziens @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Selecteer opties voor deze grafiek Measures=Maten XAxis=X-as YAxis=Y-as +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/nl_NL/other.lang b/htdocs/langs/nl_NL/other.lang index 87d1f135159..8ef2166b14e 100644 --- a/htdocs/langs/nl_NL/other.lang +++ b/htdocs/langs/nl_NL/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Klantorder gevalideerd Notify_ORDER_SENTBYMAIL=Klantorder verzonden per post Notify_ORDER_SUPPLIER_SENTBYMAIL=Aankooporder verzonden per e-mail @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL van pagina WEBSITE_TITLE=Titel WEBSITE_DESCRIPTION=Omschrijving WEBSITE_IMAGE=Beeld -WEBSITE_IMAGEDesc=Relatief pad van de beeldmedia. Je kunt dit leeg laten, omdat dit zelden wordt gebruikt (het kan door dynamische inhoud worden gebruikt om een miniatuur in een lijst met blogberichten weer te geven). Gebruik __WEBSITEKEY__ in het pad als pad afhankelijk is van de naam van de website. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Sleutelwoorden LinesToImport=Regels om te importeren diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index ab4b6fca55a..845fb659988 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Deze tool werkt het btw-tarief bij dat op ALLEKlik hier om het opnieuw te proberen ... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/nl_NL/users.lang b/htdocs/langs/nl_NL/users.lang index dffce964525..459a72f5c90 100644 --- a/htdocs/langs/nl_NL/users.lang +++ b/htdocs/langs/nl_NL/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Gebruikers en hun eigenschappen DomainUser=Domeingebruikersaccount %s Reactivate=Reactiveren CreateInternalUserDesc=Met dit formulier kunt u een interne gebruiker in uw bedrijf / organisatie maken. Om een externe gebruiker (klant, leverancier etc. ..) aan te maken, gebruikt u de knop "Aanmaken Dolibarr gebruiker" van de contactkaart van die relatie. -InternalExternalDesc=Een interne gebruiker is een gebruiker die deel uitmaakt van uw bedrijf / organisatie.
    Een externe gebruiker is een klant, verkoper of andere.

    In beide gevallen definieert machtiging rechten op Dolibarr, ook kan de externe gebruiker een ander menu-manager hebben dan de interne gebruiker (zie Home - Instellingen - Beeld) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Toestemming verleend, omdat geërfd van een bepaalde gebruikersgroep. Inherited=Overgeërfd UserWillBeInternalUser=Gemaakt gebruiker een interne gebruiker te zijn (want niet gekoppeld aan een bepaalde derde partij) @@ -113,3 +113,5 @@ CantDisableYourself=U kunt uw eigen gebruikersrecord niet uitschakelen ForceUserExpenseValidator=Validatierapport valideren ForceUserHolidayValidator=Forceer verlofaanvraag validator ValidatorIsSupervisorByDefault=Standaard is de validator de supervisor van de gebruiker. Blijf leeg om dit gedrag te behouden. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/nl_NL/website.lang b/htdocs/langs/nl_NL/website.lang index 4d89f3a1ddd..ec6a14f3860 100644 --- a/htdocs/langs/nl_NL/website.lang +++ b/htdocs/langs/nl_NL/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Bekijk pagina in nieuw tabblad SetAsHomePage=Als startpagina instellen RealURL=Echte URL ViewWebsiteInProduction=Bekijk website met behulp van eigen URL's -SetHereVirtualHost=Gebruik met Apache / NGinx / ...
    Als u op uw webserver (Apache, Nginx, ...) een speciale virtuele host met PHP ingeschakeld en een hoofddirectory op
    %s
    stel vervolgens de naam in van de virtuele host die u hebt gemaakt in de eigenschappen van de website, zodat de preview ook kan worden gedaan met behulp van deze speciale webservertoegang in plaats van de interne Dolibarr-server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Gebruik met PHP embedded server
    In een ontwikkelomgeving kunt u de site het liefst testen met de ingebouwde PHP-webserver (PHP 5.5 vereist)
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Beheer uw website met een andere Dolibarr Hosting-provider
    Als u geen webserver zoals Apache of NGinx beschikbaar heeft op internet, kunt u uw website exporteren en importeren in een ander Dolibarr-exemplaar van een andere Dolibarr-hostingprovider die volledige integratie met de websitemodule biedt. U kunt een lijst met sommige Dolibarr-hostingproviders vinden op https://saas.dolibarr.org CheckVirtualHostPerms=Controleer ook of virtuele host toestemming %s heeft voor bestanden in
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, deze website is momenteel offline. Kom lat WEBSITE_USE_WEBSITE_ACCOUNTS=Schakel de website-accounttabel in WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Schakel de tabel in om websiteaccounts (login/wachtwoord) voor elke website/relatie op te slaan YouMustDefineTheHomePage=U moet eerst de standaard startpagina definiëren -OnlyEditionOfSourceForGrabbedContentFuture=Pas op: het maken van een webpagina door een externe webpagina te importeren is voorbehouden aan ervaren gebruikers. Afhankelijk van de complexiteit van de bronpagina, kan het resultaat van de import verschillen van het origineel. Ook als de bronpagina gemeenschappelijke CSS-stijlen of conflicterende javascript gebruikt, kan het uiterlijk of de functies van de Website-editor corrupt raken wanneer u op deze pagina werkt. Deze methode is een snellere manier om een pagina te maken, maar het wordt aanbevolen om uw nieuwe pagina helemaal opnieuw te maken of op basis van een voorgestelde paginasjabloon.
    Merk ook op dat bewerkingen van HTML-bron mogelijk zijn wanneer pagina-inhoud is geïnitialiseerd door deze van een externe pagina te halen ("Online" -editor is NIET beschikbaar) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Alleen de HTML-bronversie is mogelijk wanneer inhoud van een externe site is opgehaald GrabImagesInto=Importeer ook afbeeldingen gevonden in css en pagina. ImagesShouldBeSavedInto=Afbeeldingen moeten worden opgeslagen in de directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Gebruik voor goede SEO-praktijken een tekst tussen 5 e MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index 6d2ed8fac9c..7c09b1d09c5 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Uwaga: Brak ustawionego limitu w twojej konfiguracji PHP MaxSizeForUploadedFiles=Maksymalny rozmiar dla twoich przesyłanych plików (0 by zabronić jego przesyłanie/upload) UseCaptchaCode=Użyj graficzny kod (CAPTCHA) na stronie logowania -AntiVirusCommand= Pełna ścieżka do poleceń antivirusa -AntiVirusCommandExample= ClamWin przykład: c:\\Program Files (x86)\\ClamWin\\bin\\ clamscan.exe
    Przykład dla ClamAV: /usr/bin/clamscan +AntiVirusCommand=Pełna ścieżka do poleceń antivirusa +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Więcej parametrów w linii poleceń -AntiVirusParamExample= Przykład dla ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Konfiguracja modułu rachunkowości UserSetup=Zarządzanie konfiguracją użytkowników MultiCurrencySetup=Konfiguracja multi-walut @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funkcja niedostępna w wersji demo FeatureAvailableOnlyOnStable=Funkcjonalność dostępna tylko w oficjalnej stabilnej wersji BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Tylko elementy z aktywnych modułów są widoczne. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Możesz znaleźć więcej modułów do pobrania na zewnętrznych stronach internetowych... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Znajdź dodatkowe aplikacje / moduły @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatybilne z wersją %s NotCompatible=ten moduł nie jest kompatybilny z twoją wersją Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=Zobacz konfigurację modułu% s Updated=Zaktualizowane Nouveauté=Nowość AchatTelechargement=Kup / Pobierz @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Dostępne widgety BoxesActivated=Widgety aktywowane ActivateOn=Uaktywnij @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Zostaw puste by używać domyślnych wartości DefaultLink=Domyślny link SetAsDefault=Ustaw jako domyślny ValueOverwrittenByUserSetup=Uwaga, ta wartość może być zastąpiona przez specyficzną konfiguracją użytkownika (każdy użytkownik może ustawić własny clicktodial url) -ExternalModule=Moduł zewnętrzny - Zainstalowane w katalogu% s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Masowe generowanie kodów lub reset kodów kreskowych dla usług i produktów CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regiony DictionaryCountry=Kraje DictionaryCurrency=Waluty -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Typy zdarzeń w agendzie DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Stawki VAT lub stawki podatku od sprzedaży @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Stawka LocalTax1IsNotUsed=Nie należy używać drugiego podatku LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Domyślnie proponowany IRPF wynosi 0. Koniec zasady. LocalTax2IsUsedExampleES=W Hiszpanii, freelancerów i przedstawicieli wolnych zawodów, którzy świadczą usługi i przedsiębiorstwa, którzy wybrali system podatkowy modułów. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Raporty odnośnie podatków lokalnych CalcLocaltax1=Sprzedaż - Zakupy CalcLocaltax1Desc=Lokalne raporty Podatki są obliczane z różnicy między sprzedażą localtaxes i localtaxes zakupów @@ -1018,6 +1025,7 @@ CalcLocaltax2=Zakupy CalcLocaltax2Desc=Lokalne raporty Podatki są łącznie localtaxes zakupów CalcLocaltax3=Sprzedaż CalcLocaltax3Desc=Lokalne raporty Podatki są za łączną sprzedaży localtaxes +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Wytwórnia używany domyślnie, jeśli nie można znaleźć tłumaczenie dla kodu LabelOnDocuments=Etykieta na dokumenty LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Zdarzenia audytu bezpieczeństwa Audit=Audyt @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Parametry mogą być ustawiane tylko przez użytkowników z prawami administratora. SystemInfoDesc=System informacji jest różne informacje techniczne można uzyskać w trybie tylko do odczytu i widoczne tylko dla administratorów. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Użytkownicy modułu konfiguracji UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Ustawianie modułu HR ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Faktura dokumentów modele BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Siły daty wystawienia faktury do walidacji daty -SuggestedPaymentModesIfNotDefinedInInvoice=Sugerowane tryb płatności na fakturze domyślnie jeśli nie jest zdefiniowane w fakturze +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Wolny tekst na fakturach @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Konfiguracja modułu ofert handlowych ProposalsNumberingModules=Commercial wniosku numeracji modules ProposalsPDFModules=Commercial wniosku dokumenty modeli -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Darmowy tekstu propozycji WatermarkOnDraftProposal=Znak wodny projektów wniosków komercyjnych (brak jeśli pusty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Zapytaj o rachunku bankowego przeznaczenia propozycji @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Zapytaj o magazyn źródłowy dla zamówien ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Zamówienia numeracji modules OrdersModelModule=Zamów dokumenty modeli @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index ce9dbccea41..316c3c46629 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Faktura dostawcy SupplierBills=Faktury Dostawców Payment=Płatność -PaymentBack=Zwrot płatności -CustomerInvoicePaymentBack=Zwrot płatności +PaymentBack=Zwrot +CustomerInvoicePaymentBack=Zwrot Payments=Płatności PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Spłacona DeletePayment=Usuń płatności ConfirmDeletePayment=Czy jesteś pewien, że chcesz usunąć tą płatność? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Otrzymane płatności @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Płacić ToMakePaymentBack=Spłacać ListOfYourUnpaidInvoices=Lista niezapłaconych faktur NoteListOfYourUnpaidInvoices=Uwaga: Ta lista zawiera tylko faktury dla osób trzecich jesteś powiązanych jako przedstawiciel sprzedaży. -RevenueStamp=Znaczek skarbowy +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Zwróć numer w formacie %srrmm-nnnn dla standardowych faktur i %srrmm-nnnn dla not kredytowych, gdzie rr oznacza rok, mm to miesiąc, a nnnn to kolejny niepowtarzalny numer rozpoczynający się od 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Faktura usunięta +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/pl_PL/blockedlog.lang b/htdocs/langs/pl_PL/blockedlog.lang index 68bd518eded..8ca78fd8046 100644 --- a/htdocs/langs/pl_PL/blockedlog.lang +++ b/htdocs/langs/pl_PL/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/pl_PL/cashdesk.lang b/htdocs/langs/pl_PL/cashdesk.lang index 830d06ed5f6..364ed5404c1 100644 --- a/htdocs/langs/pl_PL/cashdesk.lang +++ b/htdocs/langs/pl_PL/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Dodaj ten artykuł RestartSelling=Wróć na sprzedaż SellFinished=Sprzedaż zakończona PrintTicket=Bilet do druku +SendTicket=Send ticket NoProductFound=Artykuł nie znaleziony ProductFound=Znaleziono produkt NoArticle=Brak artykułu @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Ilość faktur Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Przeglądarka BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/pl_PL/companies.lang b/htdocs/langs/pl_PL/companies.lang index 68d0f5cdc9c..a20144ad9b0 100644 --- a/htdocs/langs/pl_PL/companies.lang +++ b/htdocs/langs/pl_PL/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Firma " %s" usunięta z bazy danych. ListOfContacts=Lista kontaktów/adresów ListOfContactsAddresses=Lista kontaktów/adresów ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Pokaż kontakt ContactsAllShort=Wszystkie (bez filtra) ContactType=Typ kontaktu @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Imię przedstawiciela handlowego SaleRepresentativeLastname=Nazwisko przedstawiciela handlowego ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/pl_PL/compta.lang b/htdocs/langs/pl_PL/compta.lang index 601a0312dd6..87f0a968943 100644 --- a/htdocs/langs/pl_PL/compta.lang +++ b/htdocs/langs/pl_PL/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Kwoty podane są łącznie z podatkami -RulesResultDue=- Obejmuje zaległe faktury, koszty, podatek VAT, darowizny niezaleznie czy zostały one zapłacone. Obejmuje również wypłacane pensje.
    - Podstawą jest data zatwierdzania faktur i VAT oraz terminów płatności za wydatki. Dla wynagrodzeń określonych w module wynagrodzeń brana jest pod uwagę data wypłaty wynagrodzeń. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Obejmuje rzeczywiste płatności dokonywane za faktury, koszty, podatek VAT oraz wynagrodzenia.
    Opiera się na datach płatności faktur, wygenerowania kosztów, podatku VAT oraz wynagrodzeń. Dla darowizn brana jest pod uwagę data przekazania darowizny. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Krótka etykieta +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index 662d89577fb..7782b651a07 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Plik nieodebrany w całości przez serwer. ErrorNoTmpDir=Tymczasowy directy %s nie istnieje. ErrorUploadBlockedByAddon=Prześlij zablokowane / PHP wtyczki Apache. ErrorFileSizeTooLarge=Rozmiar pliku jest zbyt duży. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Rozmiar zbyt długi dal typu int (max %s cyfr) ErrorSizeTooLongForVarcharType=Za dużo znaków dla tego typu (maksymalnie %s znaków) ErrorNoValueForSelectType=Proszę wypełnić wartości dla listy wyboru @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=Hasło zostało ustawione dla tego użytkownika. Jednakże nie Konto użytkownika zostało utworzone. Więc to hasło jest przechowywane, ale nie mogą być używane do logowania do Dolibarr. Może być stosowany przez zewnętrzny moduł / interfejsu, ale jeśli nie trzeba definiować dowolną logowania ani hasła do członka, można wyłączyć opcję "Zarządzaj login dla każdego członka" od konfiguracji modułu użytkownika. Jeśli potrzebujesz zarządzać logowanie, ale nie wymagają hasła, możesz zachować to pole puste, aby uniknąć tego ostrzeżenia. Uwaga: E może być również stosowany jako login, jeśli element jest połączony do użytkownika. diff --git a/htdocs/langs/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 9b531c90fab..0a10dd12033 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Maksymalna ilość pamięci sesji PHP ustawiona jest na %s. Powinno wystarczyć. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Twoja instalacja PHP nie wspiera Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Katalog %s nie istnieje. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/pl_PL/link.lang b/htdocs/langs/pl_PL/link.lang index 4da60227bfa..29ff5e2a6b2 100644 --- a/htdocs/langs/pl_PL/link.lang +++ b/htdocs/langs/pl_PL/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Link %s został usunięty ErrorFailedToDeleteLink= Niemożna usunąc linku '%s' ErrorFailedToUpdateLink= Niemożna uaktualnić linku '%s' URLToLink=Adres URL linka +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/pl_PL/mails.lang b/htdocs/langs/pl_PL/mails.lang index 26161193ec3..70e3426dcdb 100644 --- a/htdocs/langs/pl_PL/mails.lang +++ b/htdocs/langs/pl_PL/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informacja ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index bbd0c051546..8842026e3aa 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test połączenia ToClone=Duplikuj +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Brak zdefiniowanych danych do zduplikowania. Of=z @@ -829,6 +830,8 @@ Gender=Płeć Genderman=Mężczyzna Genderwoman=Kobieta ViewList=Widok listy +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Zleceniobiorca Hello=Witam GoodBye=Do widzenia @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/pl_PL/other.lang b/htdocs/langs/pl_PL/other.lang index 2a5656c5024..b496de9d07e 100644 --- a/htdocs/langs/pl_PL/other.lang +++ b/htdocs/langs/pl_PL/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Link strony WEBSITE_TITLE=Tytuł WEBSITE_DESCRIPTION=Opis WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Słowa kluczowe LinesToImport=Lines to import diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index 058010e7791..188bfd5ff09 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Masowa inicjalizacja kodów kreskowych MassBarcodeInitDesc=Strona ta może być używana do wygenerowania kodu kreskowego dla obiektów nie posiadających zdefiniowanego kodu. Sprawdź wcześniej, czy ustawienia modułu kodu kreskowego jest kompletna. ProductAccountancyBuyCode=Kod księgowy (zakup) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Kod księgowy (sprzedaż) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Ceny dostawców SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Kraj pochodzenia -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Krótka etykieta Unit=Jednostka p=jedn. diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index f03a7e40d56..4e3eb48d808 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Czas ListOfTasks=Lista zadań GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planowany nakład pracy PlannedWorkloadShort=Nakład pracy ProjectReferers=Powiązane elementy ProjectMustBeValidatedFirst=Projekt musi być najpierw zatwierdzony -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Wejścia na dzień InputPerWeek=Wejścia w tygodniu InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nowa faktura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/pl_PL/receiptprinter.lang b/htdocs/langs/pl_PL/receiptprinter.lang index 09e767f4d34..5da4c9a5a4e 100644 --- a/htdocs/langs/pl_PL/receiptprinter.lang +++ b/htdocs/langs/pl_PL/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Atrapa drukarki CONNECTOR_NETWORK_PRINT=Drukarka sieciowa CONNECTOR_FILE_PRINT=Drukarka lokalna CONNECTOR_WINDOWS_PRINT=Lokalna drukarka Windowsowa +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fałszywe Drukarka do testu, nie robi nic CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://użytkownik:tajny@nazwa_komputera/grupa_robocza/drukarka +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Profil domyślny PROFILE_SIMPLE=Profil prosty PROFILE_EPOSTEP=Profil Epos Tep @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Nr referencyjny faktury +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapitał +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/pl_PL/stripe.lang b/htdocs/langs/pl_PL/stripe.lang index d0a7f958f5a..2583d38db89 100644 --- a/htdocs/langs/pl_PL/stripe.lang +++ b/htdocs/langs/pl_PL/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nazwa dostawcy CSSUrlForPaymentForm=Arkusz styli CSS dla formularza płatności NewStripePaymentReceived=Nowa płatność Stripe otrzymana NewStripePaymentFailed=Próbowano wykonać płatność Stripe, ale nie powiodła się +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/pl_PL/users.lang b/htdocs/langs/pl_PL/users.lang index 45dd6b658ba..19dd2de7727 100644 --- a/htdocs/langs/pl_PL/users.lang +++ b/htdocs/langs/pl_PL/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domena użytkownika %s Reactivate=Przywraca CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Zezwolenie udzielone ponieważ odziedziczył od jednego z użytkowników grupy. Inherited=Odziedziczone UserWillBeInternalUser=Utworzony użytkownik będzie wewnętrzny użytkownik (ponieważ nie związane z konkretnym trzeciej) @@ -110,3 +110,8 @@ UserLogged=Użytkownik zalogowany DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/pl_PL/website.lang b/htdocs/langs/pl_PL/website.lang index 3be18159200..3a2a005d91d 100644 --- a/htdocs/langs/pl_PL/website.lang +++ b/htdocs/langs/pl_PL/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Zobacz stronę w nowej zakładce SetAsHomePage=Ustaw jako stronę domową RealURL=Prawdziwy adres URL ViewWebsiteInProduction=Zobacz stronę używając linków ze strony głównej -SetHereVirtualHost=Gdy Twój rzeczywisty web serwer to Apache/NGinx/...
    Jeśli na Twym rzeczywistym web serwerze masz uprawnienia do tworzenia wirtualnego web serwera (Virtual Host), to utwórz go i odpowiednio skonfiguruj - np. włącz obsługę PHP, wskaż katalog Root na
    %s
    , ustaw kontrolę dostępu. Następnie, jego URL podaj w Dolibarr jako wartość właściwości Virtualhost witryny, przez co podgląd witryny będzie możliwy również poprzez ten dedykowany web serwerze, a nie tylko przez wewnętrzny web serwer w Dolibarr. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS= Używaj z wbudowanym serwerem PHP
    Gdy w środowisku rozwojowym preferujesz testowanie web strony z web serwerem wbudowanym w PHP (wymagane PHP 5.5 lub nowsze), to uruchamiaj
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Uruchom swoją witrynę u innego dostawcy wystąpień Dolibarr
    Jeśli nie masz dostępnego w internecie web serwera, takiego jak Apache lub NGinx, to możesz eksportować i importować swoją witrynę do innego wystąpienia Dolibarr u kogoś oferującego wystąpienia Dolibarr mające moduł Website w pełni zintegrowany z web serwerem. Listę niektórych dostawców wystąpień Dolibarr znajdziesz w https://saas.dolibarr.org CheckVirtualHostPerms=Sprawdź także, czy host wirtualny ma uprawnienia %s do plików
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Przepraszamy, ta witryna jest obecnie niedostępn WEBSITE_USE_WEBSITE_ACCOUNTS=Włącz tabelę kont witryny WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Włącz tabelę kont witryny (login/hasło) dla każdej witryny/strony trzeciej YouMustDefineTheHomePage=Najpierw musisz zdefiniować domyślną stronę główną -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Po zaciągnięciu zawartości z zewnętrznej web witryny możliwa jest jedynie edycja kodu źródłowego HTML GrabImagesInto=Przechwyć także obrazy znalezione w CSS i na stronie. ImagesShouldBeSavedInto=Obrazy powinny być zapisane w katalogu @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Aby uzyskać dobre praktyki SEO, użyj tekstu od 5 do MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 9a0d6096705..2b1b7cdef65 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -82,9 +82,7 @@ NoMaxSizeByPHPLimit=Nenhum limite foi configurado no seu PHP MaxSizeForUploadedFiles=Tamanho Máximo para uploads de arquivos ('0' para proibir o carregamento) UseCaptchaCode=Usar captcha para login (recomendado se os usuários tiverem acesso ao Dolibarr pela internet) AntiVirusCommand=Caminho completo para antivirus -AntiVirusCommandExample=Exemplo com o ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Exemplo com o ClamAv: /usr/bin/clamscan (UNIX) AntiVirusParam=Mais parâmetros em linha de comando (CLI) -AntiVirusParamExample=Exemplo com o ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Conf. do Módulo Contabilidade UserSetup=Conf. do Gestor de usuários MultiCurrencySetup=Configuração de múltiplas moedas @@ -170,9 +168,11 @@ FreeModule=Grátis NotCompatible=Este módulo não parece ser compatível com o seu Dolibarr %s (Mín %s - Máx %s). CompatibleAfterUpdate=Este módulo exige uma atualização do seu Dolibarr %s (Mín %s - Máx %s). SeeInMarkerPlace=Ver na Loja Virtual +SeeSetupOfModule=Veja configuração do módulo %s GoModuleSetupArea=Para implantar/instalar um novo módulo, vá para a área de configuração do módulo: %s . DoliStoreDesc=DoliStore, o site oficial para baixar módulos externos. DevelopYourModuleDesc=Algumas soluções para o desenvolvimento do seu próprio módulo... +RelativeURL=URL relativo BoxesAvailable=Widgets disponíveis BoxesActivated=Widgets ativados ActivateOn=Ativar @@ -337,7 +337,6 @@ KeepEmptyToUseDefault=Deixe em branco para usar o valor padrão DefaultLink=Link padrão SetAsDefault=Definir como padrão ValueOverwrittenByUserSetup=Aviso, esse valor pode ser substituido pela configuração especifícada pelo usuário (cada usuário pode ter seu propria URL CliqueParaDiscar) -ExternalModule=Módulo externo - Instalado no diretório BarcodeInitForProductsOrServices=Inicialização de código de barras em massa ou redefinir de produtos ou serviços CurrentlyNWithoutBarCode=Atualmente, você tem %s registro(s) no %s %s sem um código de barras definido. InitEmptyBarCode=Valor Init para o próximo registros vazios @@ -354,10 +353,13 @@ DisplayCompanyInfoAndManagers=Exibir o endereço da empresa e os nomes dos geren ModuleCompanyCodeSupplierAquarium=%s seguido pelo código do fornecedor para um código de contabilidade do fornecedor ModuleCompanyCodePanicum=Retornar um código contábil vazio ModuleCompanyCodeDigitaria=Retorna um código contábil composto de acordo com nome de terceiros. O código consiste em um prefixo que pode ser definido na primeira posição, seguido pelo número de caracteres definidos no código de terceiros. +ModuleCompanyCodeCustomerDigitaria=%s seguido pelo nome do cliente truncado pelo número de caracteres: %s para o código contábil do cliente. +ModuleCompanyCodeSupplierDigitaria=%s seguido pelo nome do fornecedor truncado pelo número de caracteres: %s para o código contábil do fornecedor. Use3StepsApproval=Por padrão, os Pedidos de Compra necessitam ser criados e aprovados por 2 usuários diferentes (uma etapa para a criação e a outra etapa para a aprovação. Note que se o usuário possui ambas permissões para criar e aprovar, uma única etapa por usuário será suficiente). Você pode pedir, com esta opção, para introduzir uma terceira etapa para aprovação por outro usuário, se o montante for superior a um determinado valor (assim 3 etapas serão necessárias : 1=validação, 2=primeira aprovação e 3=segunda aprovação se o montante for suficiente).
    Defina como vazio se uma aprovação (2 etapas) é suficiente, defina com um valor muito baixo (0.1) se uma segunda aprovação (3 etapas) é sempre exigida. UseDoubleApproval=Usar uma aprovação de 3 etapas quando o valor (sem taxa) é maior do que ... WarningPHPMail=AVISO: Muitas vezes, é melhor configurar e-mails enviados para usar o servidor de e-mail do seu provedor, em vez da configuração padrão. Alguns provedores de e-mail (como o Yahoo) não permitem que você envie um e-mail de outro servidor além do seu próprio servidor. Sua configuração atual usa o servidor do aplicativo para enviar e-mail e não o servidor do seu provedor de e-mail, então alguns destinatários (aquele compatível com o protocolo restritivo do DMARC) perguntarão ao seu provedor de e-mail se eles podem aceitar seu e-mail e alguns provedores de e-mail (como o Yahoo) pode responder "não" porque o servidor não é deles, portanto poucos dos seus e-mails enviados podem não ser aceitos (tome cuidado também com a cota de envio do seu provedor de e-mail).
    Se o seu provedor de e-mail (como o Yahoo) tiver essa restrição, você deve alterar a configuração de e-mail para escolher o outro método "servidor SMTP" e inserir o servidor SMTP e as credenciais fornecidas pelo seu provedor de e-mail. WarningPHPMail2=Se o seu provedor SMTP de e-mail precisar restringir o cliente de e-mail a alguns endereços IP (muito raro), esse é o endereço IP do agente de usuário de e-mail (MUA) para seu aplicativo ERP CRM: %s. +WarningPHPMailSPF=Se o nome de domínio no endereço de email do remetente estiver protegido pelo SPF (pergunte ao seu provedor de email), você deverá incluir os seguintes IPs no registro SPF do DNS do seu domínio: %s . ClickToShowDescription=Clique para exibir a descrição RequiredBy=Este módulo é exigido por módulo(s) PageUrlForDefaultValues=Você deve inserir o caminho relativo do URL da página. Se você incluir parâmetros na URL, os valores padrão serão efetivos se todos os parâmetros estiverem definidos com o mesmo valor. @@ -754,7 +756,6 @@ DictionaryCompanyJuridicalType=Entidades jurídicas de terceiros DictionaryProspectLevel=Possível cliente DictionaryCanton=Estados / Cidades DictionaryRegion=Regiões -DictionaryCivility=Título da civilidade DictionaryActions=Tipos de eventos na agenda DictionarySocialContributions=Tipos de impostos sociais ou fiscais DictionaryVAT=Taxas de VAT ou imposto sobre vendas de moeda @@ -870,8 +871,6 @@ Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Cheque depósito não feito Delays_MAIN_DELAY_EXPENSEREPORTS=Relatório de despesas para aprovar Delays_MAIN_DELAY_HOLIDAYS=Solicitações de Licenças para aprovar SetupDescription2=As duas seções a seguir são obrigatórias (as duas primeiras entradas no menu de configuração): -SetupDescription3=%s -> %s
    Parâmetros básicos usados para personalizar o comportamento padrão do seu aplicativo (por exemplo, para recursos relacionados ao país). -SetupDescription4=%s -> %s
    Este software é um conjunto de muitos módulos/aplicativos, todos mais ou menos independentes. Os módulos relevantes para suas necessidades devem ser ativados e configurados. Novos itens/opções são adicionados aos menus com a ativação de um módulo. SetupDescription5=Outras entradas do menu de configuração gerenciam parâmetros opcionais. LogEvents=Auditoría de segurança dos eventos Audit=Auditoría @@ -911,6 +910,7 @@ ParameterActiveForNextInputOnly=Parâmetro efetivo somente para a próxima entra NoEventOrNoAuditSetup=Nenhum evento de segurança foi registrado. Isso é normal se a Auditoria não tiver sido ativada na página "Configuração - Segurança - Eventos". SeeLocalSendMailSetup=Ver sua configuração local de envio de correspondência BackupDesc=Um backup completo de uma instalação do Dolibarr requer duas etapas. +BackupDesc2=Faça backup do conteúdo do diretório "documentos" (%s) que contém todos os arquivos carregados e gerados. Isso também incluirá todos os arquivos de despejo gerados na Etapa 1. Essa operação pode durar vários minutos. BackupDesc3=Faça backup da estrutura e do conteúdo do banco de dados ( %s ) em um arquivo de despejo. Para isso, você pode usar o assistente a seguir. BackupDescX=O diretório arquivado deve ser armazenado em um local seguro. BackupDescY=O arquivo de despeja gerado deverá ser armazenado em um local seguro. @@ -969,7 +969,9 @@ OnlyFollowingModulesAreOpenedToExternalUsers=Observe que apenas os módulos a se SuhosinSessionEncrypt=Sessão armazenada criptografada pelo Suhosin ConditionIsCurrently=Condição é atualmente %s YouUseBestDriver=Você usa o driver %s, que é o melhor driver atualmente disponível. +NbOfObjectIsLowerThanNoPb=Você tem apenas %s %s no banco de dados. Isso não requer nenhuma otimização específica. SearchOptim=Procurar Otimização +YouHaveXObjectAndSearchOptimOn=Você tem %s %s no banco de dados e a constante %s é definida como 1 em Home - Setup - Other PHPModuleLoaded=O componente PHP 1 %s está carregado PreloadOPCode=O OPCode pré-carregado está em uso AddRefInList=Mostrar ref. Cliente / fornecedor lista de informações (lista de seleção ou caixa de combinação) e a maior parte do hiperlink.
    Terceiros aparecerão com um formato de nome "CC12345 - SC45678 - Empresa X." em vez de "Empresa X.". @@ -1005,7 +1007,6 @@ BillsNumberingModule=Faturas e notas de crédito no modelo de numeração BillsPDFModules=Modelos de documentos da fatura PaymentsPDFModules=Modelos dos documentos de pagamento ForceInvoiceDate=Forçar data de fatura para data de validação -SuggestedPaymentModesIfNotDefinedInInvoice=Sugerir formas de pagamentos na fatura por default se não estiver definida na fatura SuggestPaymentByRIBOnAccount=Sugerir pagamento por retirada na conta SuggestPaymentByChequeToAddress=Sugerir pagamento por cheque para FreeLegalTextOnInvoices=Texto livre nas fatura @@ -1016,7 +1017,6 @@ SupplierPaymentSetup=Configuração de pagamentos do fornecedor PropalSetup=Configurações do módulo de orçamentos ProposalsNumberingModules=Modelos de numeração de orçamentos ProposalsPDFModules=Modelos de documentos para Orçamentos -SuggestedPaymentModesIfNotDefinedInProposal=Modo de pagamentos sugeridos na proposta por padrão, se não definido para proposta FreeLegalTextOnProposal=Texto livre em orçamentos WatermarkOnDraftProposal=Marca d'água no rascunho de orçamentos (nenhum se vazio) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Informar conta bancária de destino da proposta diff --git a/htdocs/langs/pt_BR/bills.lang b/htdocs/langs/pt_BR/bills.lang index 093e7db169b..47a4ce850a6 100644 --- a/htdocs/langs/pt_BR/bills.lang +++ b/htdocs/langs/pt_BR/bills.lang @@ -45,15 +45,15 @@ SupplierInvoice=Fatura do fornecedores SuppliersInvoices=Faturas de fornecedores SupplierBill=Fatura do fornecedores SupplierBills=Faturas de fornecedores -PaymentBack=Reembolso de pagamento -CustomerInvoicePaymentBack=Reembolso de pagamento +PaymentBack=Reembolso +CustomerInvoicePaymentBack=Reembolso PaymentsBack=Reembolsos PaidBack=Reembolso pago DeletePayment=Deletar pagamento ConfirmDeletePayment=Você tem certeza que deseja excluir este pagamento? -ConfirmConvertToReduc=Deseja converter este %s em um desconto absoluto? +ConfirmConvertToReduc=Deseja converter este %s em um crédito disponível? ConfirmConvertToReduc2=O valor será salvo junto a todos os descontos e poderá ser usado como desconto em uma fatura atual ou futura deste cliente. -ConfirmConvertToReducSupplier=Deseja converter este %s em um desconto absoluto? +ConfirmConvertToReducSupplier=Deseja converter este %s em um crédito disponível? ConfirmConvertToReducSupplier2=O valor será salvo junto a todos os descontos e poderá ser usado como desconto em uma fatura atual ou futura deste fornecedor. SupplierPayments=Pagamentos do fornecedor ReceivedCustomersPayments=Pagamentos recebidos de cliente @@ -349,11 +349,10 @@ ClosePaidContributionsAutomatically=Classifique automaticamente todas as contrib AllCompletelyPayedInvoiceWillBeClosed=Todas as faturas sem saldo a pagar serão fechadas automaticamente com o status "Pago". ToMakePaymentBack=Pagar de volta NoteListOfYourUnpaidInvoices=Nota: Essa lista contém faturas de terceiros que você está a ligado como representante de vendas. -RevenueStamp=Selo de receita YouMustCreateInvoiceFromThird=Esta opção só está disponível ao criar uma fatura na guia "Cliente" de terceiros YouMustCreateInvoiceFromSupplierThird=Essa opção só está disponível ao criar uma fatura na guia "Fornecedor" de terceiros YouMustCreateStandardInvoiceFirstDesc=Você deve criar antes uma fatura padrão e convertê-la em um "tema" para criar um novo tema de fatura -PDFCrabeDescription=Modelo de fatura PDF Crabe. Um modelo de fatura completo (implementação antiga do modelo Sponge) +PDFCrabeDescription=Modelo de fatura PDF Crabe. Um modelo de fatura completo PDFCrevetteDescription=Tema Crevette para fatura em PDF. Um tema completo para a situação das faturas TerreNumRefModelDesc1=Retorna número com formato %syymm-nnnn para padrão de faturas e %syymm-nnnn para notas de crédito onde yy é ano, mm é mês e nnnn é uma sequência numérica sem quebra e sem retorno para 0 MarsNumRefModelDesc1=Número de retorno com o formato %syymm-nnnn para faturas padrão, %syymm-nnnn para faturas de substituição, %syymm-nnnn para faturas de adiantamento e %syymm-nnnn para notas de crédito onde yy é ano, mm é mês e nnnn é uma seqüência sem interrupção e não retornar para 0 diff --git a/htdocs/langs/pt_BR/blockedlog.lang b/htdocs/langs/pt_BR/blockedlog.lang index 52d033bd36e..390258dcf55 100644 --- a/htdocs/langs/pt_BR/blockedlog.lang +++ b/htdocs/langs/pt_BR/blockedlog.lang @@ -8,7 +8,6 @@ BrowseBlockedLog=Logs nao modificaveis ShowAllFingerPrintsMightBeTooLong=Mostrar todos os Logs Arquivados (pode ser demorado) ShowAllFingerPrintsErrorsMightBeTooLong=Mostrar todos os arquivos de log inválidos (pode demorar) DownloadBlockChain=Baixar impressoes digitais -KoCheckFingerprintValidity=A entrada de log arquivada não é válida. Isso significa que alguém (um hacker?) Modificou alguns dados desse arquivo depois que foi gravado ou apagou o registro arquivado anterior (verifique se a linha com o número anterior existe). OkCheckFingerprintValidity=O registro de log arquivado é válido. Os dados nesta linha não foram modificados e a entrada segue a anterior. OkCheckFingerprintValidityButChainIsKo=O log arquivado parece válido em comparação com o anterior, mas a cadeia foi previamente corrompida. AddedByAuthority=Salvo na autoridade remota diff --git a/htdocs/langs/pt_BR/cashdesk.lang b/htdocs/langs/pt_BR/cashdesk.lang index 7af01359574..eefa64d6102 100644 --- a/htdocs/langs/pt_BR/cashdesk.lang +++ b/htdocs/langs/pt_BR/cashdesk.lang @@ -34,8 +34,8 @@ TakeposNeedsCategories=TakePOS precisa de categorias de produtos para funcionar OrderNotes=Notas de pedidos CashDeskBankAccountFor=Conta padrão a ser usada para pagamentos em NoPaimementModesDefined=Nenhum modo de embalagem definido na configuração do TakePOS -TicketVatGrouped=Grupo de IVA por taxa em tickets -AutoPrintTickets=Imprimir automaticamente os tickets +TicketVatGrouped=Agrupar IVA por taxa em tickets | recibos +AutoPrintTickets=Imprimir automaticamente tickets | recibos EnableBarOrRestaurantFeatures=Ativar recursos para Bar ou Restaurante ConfirmDeletionOfThisPOSSale=Você confirma a exclusão desta venda atual? ConfirmDiscardOfThisPOSSale=Deseja descartar esta venda atual? diff --git a/htdocs/langs/pt_BR/compta.lang b/htdocs/langs/pt_BR/compta.lang index 3c0487dbe73..a5d7c9bb26f 100644 --- a/htdocs/langs/pt_BR/compta.lang +++ b/htdocs/langs/pt_BR/compta.lang @@ -118,9 +118,7 @@ AnnualByCompanies=Saldo de receitas e despesas, por grupos de conta predefinidos AnnualByCompaniesDueDebtMode=Saldo de receitas e despesas, detalhe por grupos predefinidos, modo %sClaims-Debts%s disse Contabilidade de Compromisso . AnnualByCompaniesInputOutputMode=Saldo de receitas e despesas, detalhe por grupos predefinidos, modo %sIncomes-Expenses%s chamada fluxo de caixa . RulesAmountWithTaxIncluded=- Valores apresentados estão com todos os impostos incluídos -RulesResultDue=- Isto inclui as faturas vencidas, despesas, ICMS (VAT), doações, pagas ou não. Isto também inclui os salários pagos.
    - Isto isto baseado na data de validação das faturas e ICMS (VAT) e nas datas devidas para as despesas. Para os salários definidos com o módulo Salário, é usado o valor da data do pagamento. RulesResultInOut=- Isto inclui os pagamentos reais feitos nas faturas, despesas, ICMS (VAT) e salários.
    - Isto é baseado nas datas de pagamento das faturas, despesas, ICMS (VAT) e salários. A data de doação para a doação. -RulesCADue=- Inclui as faturas do cliente, sejam elas pagas ou não.
    - É baseado na data de validação dessas faturas.
    RulesCAIn=- Inclui todos os pagamentos efetivos de faturas recebidas de clientes.
    - É baseado na data de pagamento dessas faturas
    RulesAmountOnInOutBookkeepingRecord=Inclui registro em seu Ledger com contas contábeis que tem o grupo "DESPESAS" ou "RENDIMENTO" RulesResultBookkeepingPredefined=Inclui registro em seu Ledger com contas contábeis que tem o grupo "DESPESAS" ou "RENDIMENTO" diff --git a/htdocs/langs/pt_BR/errors.lang b/htdocs/langs/pt_BR/errors.lang index 19ed3e2fa27..4b5f972e55f 100644 --- a/htdocs/langs/pt_BR/errors.lang +++ b/htdocs/langs/pt_BR/errors.lang @@ -95,6 +95,7 @@ ErrorLoginDoesNotExists=Não existe um usuário com login %s. ErrorLoginHasNoEmail=Este usuário não tem endereço de e-mail. Processo abortado. ErrorBadValueForCode=Valor inadequado para código de segurança. Tente novamente com um novo valor... ErrorBothFieldCantBeNegative=Os campos %s e %s não podem ser ambos negativos +ErrorLinesCantBeNegativeForOneVATRate=O total de linhas não pode ser negativo para uma determinada taxa de IVA. ErrorLinesCantBeNegativeOnDeposits=As linhas não podem ser negativas em um depósito. Você terá problemas quando precisar apagar o depósito na fatura final, se o fizer. ErrorQtyForCustomerInvoiceCantBeNegative=A quantidade nas linhas das notas de clientes não pode ser negativa ErrorWebServerUserHasNotPermission=A conta de usuário %s usada para executar o servidor web não possui permissão para isto diff --git a/htdocs/langs/pt_BR/link.lang b/htdocs/langs/pt_BR/link.lang index eb57e8c3b2e..f86a13d83c3 100644 --- a/htdocs/langs/pt_BR/link.lang +++ b/htdocs/langs/pt_BR/link.lang @@ -4,6 +4,7 @@ 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 +LinkRemoved=A ligação %s foi removida ErrorFailedToDeleteLink=Falha ao remover link '%s' ErrorFailedToUpdateLink=Falha ao atualizar link '%s' URLToLink=URL para link diff --git a/htdocs/langs/pt_BR/mails.lang b/htdocs/langs/pt_BR/mails.lang index 6a462d11f01..773a06e5e08 100644 --- a/htdocs/langs/pt_BR/mails.lang +++ b/htdocs/langs/pt_BR/mails.lang @@ -96,6 +96,5 @@ NoContactWithCategoryFound=Nenhum foi encontrado nenhum contato/endereço com um NoContactLinkedToThirdpartieWithCategoryFound=Nenhum foi encontrado nenhum contato/endereço com uma categoria OutGoingEmailSetup=Configuração de e-mail de saída InGoingEmailSetup=Configuração de e-mail de entrada -OutGoingEmailSetupForEmailing=Configuração de e-mail de saída (para envio em massa) DefaultOutgoingEmailSetup=Configuração de e-mail de saída padrão ContactsWithThirdpartyFilter=Contatos com filtro de terceiros diff --git a/htdocs/langs/pt_BR/orders.lang b/htdocs/langs/pt_BR/orders.lang index 275ed444a69..3c6b39a8fa1 100644 --- a/htdocs/langs/pt_BR/orders.lang +++ b/htdocs/langs/pt_BR/orders.lang @@ -111,7 +111,7 @@ TypeContact_order_supplier_external_SHIPPING=Contato de remessa do fornecedor TypeContact_order_supplier_external_CUSTOMER=Ordem de acompanhamento de contato do fornecedor Error_OrderNotChecked=Nenhum pedido seleçionado para se faturar OrderByEMail=E-mail -PDFEinsteinDescription=Modelo de pedido completo (implementação antiga do modelo Eratosthene) +PDFEinsteinDescription=Modelo de pedido completo PDFEratostheneDescription=Modelo completo de pedidos PDFEdisonDescription=O modelo simplificado do pedido PDFProformaDescription=Modelo completo de fatura Proforma diff --git a/htdocs/langs/pt_BR/other.lang b/htdocs/langs/pt_BR/other.lang index 00661f29a01..36349482923 100644 --- a/htdocs/langs/pt_BR/other.lang +++ b/htdocs/langs/pt_BR/other.lang @@ -168,7 +168,7 @@ LibraryUsed=Biblioteca usada ExportableDatas=dados exportáveis NoExportableData=não existe dados exportáveis (sem módulos com dados exportáveis gastodos, necessitam de permissões) WebsiteSetup=Configuração do módulo website -WEBSITE_IMAGEDesc=Caminho relativo da mídia de imagem. Você pode mantê-lo vazio, pois raramente é usado (ele pode ser usado pelo conteúdo dinâmico para mostrar uma miniatura em uma lista de postagens do blog). Use __WEBSITEKEY__ no caminho se o caminho depender do nome do site. +WEBSITE_IMAGEDesc=Caminho relativo da mídia de imagem. Você pode mantê-lo vazio, pois raramente é usado (ele pode ser usado pelo conteúdo dinâmico para mostrar uma miniatura em uma lista de postagens do blog). Use __WEBSITE_KEY__ no caminho se o caminho depender do nome do site (por exemplo: image / __ WEBSITE_KEY __ / stories / myimage.png). LinesToImport=Linhas para importar MemoryUsage=Uso de memória RequestDuration=Duração do pedido diff --git a/htdocs/langs/pt_BR/products.lang b/htdocs/langs/pt_BR/products.lang index 9df938bca07..9d61b0be2e5 100644 --- a/htdocs/langs/pt_BR/products.lang +++ b/htdocs/langs/pt_BR/products.lang @@ -103,7 +103,6 @@ CustomerPrices=Preços de cliente SuppliersPrices=Preços de fornecedores SuppliersPricesOfProductsOrServices=Preços do fornecedor (produtos ou serviços) CountryOrigin=Pais de origem -Nature=Natureza do produto (matéria-prima/manufaturado) ShortLabel=Etiqueta curta set=conjunto se=conjunto diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index a752065eea8..21553851201 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -56,8 +56,6 @@ ProgressCalculated=calculado do progresso WhichIamLinkedTo=ao qual estou ligado WhichIamLinkedToProject=ao qual estou vinculado ao projeto GoToListOfTimeConsumed=Ir para a lista de dispêndios de tempo -GoToListOfTasks=Exibir como lista -GoToGanttView=mostrar como Gantt ListOrdersAssociatedProject=Lista de pedidos de vendas relacionadas ao projeto ListSupplierOrdersAssociatedProject=Lista de ordens de compra relacionadas ao projeto ListSupplierInvoicesAssociatedProject=Lista de faturas do fornec. relacionadas ao projeto @@ -114,7 +112,6 @@ SelectElement=Selecionar componente AddElement=Link para componente PlannedWorkload=carga horária planejada ProjectMustBeValidatedFirst=O projeto tem que primeiramente ser validado -FirstAddRessourceToAllocateTime=Atribuir o recurso de um usuário à tarefa para alocação do tempo ProjectsWithThisUserAsContact=Projetos com este usuário como contato TasksWithThisUserAsContact=As tarefas atribuídas a esse usuário ProjectOverview=Visão geral diff --git a/htdocs/langs/pt_BR/stripe.lang b/htdocs/langs/pt_BR/stripe.lang index 19d2d32ccec..fcb44212d4c 100644 --- a/htdocs/langs/pt_BR/stripe.lang +++ b/htdocs/langs/pt_BR/stripe.lang @@ -36,4 +36,3 @@ StripePayoutList=Lista de pagamentos do Stripe ToOfferALinkForTestWebhook=Link para configurar o Stripe WebHook para chamar o IPN (modo de teste) ToOfferALinkForLiveWebhook=Link para configurar Stripe WebHook para chamar o IPN (modo ao vivo) PaymentWillBeRecordedForNextPeriod=O pagamento será registrado para o próximo período. -CreationOfPaymentModeMustBeDoneFromStripeInterface=Devido às regras de autenticação forte do cliente, a criação de um cartão deve ser feita no backoffice do Stripe. Você pode clicar aqui para ativar o registro de cliente do Stripe: %s diff --git a/htdocs/langs/pt_BR/users.lang b/htdocs/langs/pt_BR/users.lang index b74be4d91f4..b6ba00dce9a 100644 --- a/htdocs/langs/pt_BR/users.lang +++ b/htdocs/langs/pt_BR/users.lang @@ -60,7 +60,7 @@ LoginAccountDisableInDolibarr=A conta está desativada no Dolibarr ExportDataset_user_1=Usuários e suas propriedades DomainUser=Usuário de Domínio CreateInternalUserDesc=Este formulário permite que você crie um usuário interno em sua empresa / organização. Para criar um usuário externo (cliente, fornecedor, etc.), use o botão 'Criar usuário Dolibarr' do cartão de contato de terceiros. -InternalExternalDesc=Um usuário interno é um usuário que faz parte de sua empresa/organização.
    Um usuário externo é um cliente, fornecedor ou outro.

    Em ambos os casos, permissões definem direitos no Dolibarr, também o usuário externo pode ter um gerenciador de menu diferente do usuário interno (Veja Início - Configurações - Exibir) +InternalExternalDesc=Usuário interno é um usuário que faz parte da sua empresa / organização.
    Usuário externo é um cliente, fornecedor ou outro (a criação de um usuário externo para terceiros pode ser feita a partir do registro de contatos de terceiros).

    Nos dois casos, as permissões definem os direitos no Dolibarr, também o usuário externo pode ter um gerenciador de menu diferente do usuário interno (consulte Página inicial - Configuração - Tela) PermissionInheritedFromAGroup=A permissão dá-se já que o herda de um grupo ao qual pertence o usuário. UserWillBeInternalUser=Usuario criado sera um usuario interno (porque nao esta conectado a um particular terceiro) UserWillBeExternalUser=Usuario criado sera um usuario externo (porque esta conectado a um particular terceiro) @@ -96,3 +96,6 @@ UserLogged=Usuário Conectado DateEmployment=Data de Início do Emprego DateEmploymentEnd=Data de término do emprego CantDisableYourself=Você não pode desativar seu próprio registro de usuário +ForceUserExpenseValidator=Forçar validação do relatório de despesas +ForceUserHolidayValidator=Forçar validação da solicitação de licença +ValidatorIsSupervisorByDefault=Por padrão, a validação é feita pelo supervisor do usuário. Mantenha vazio para continuar desta maneira. diff --git a/htdocs/langs/pt_BR/website.lang b/htdocs/langs/pt_BR/website.lang index a69e817c29a..65c7144a2c1 100644 --- a/htdocs/langs/pt_BR/website.lang +++ b/htdocs/langs/pt_BR/website.lang @@ -30,7 +30,6 @@ ViewPageInNewTab=Visualizar página numa nova aba SetAsHomePage=Definir com Página Inicial RealURL=URL real ViewWebsiteInProduction=Visualizar website usando origem URLs -SetHereVirtualHost=Use com o Apache / NGinx / ...
    Se você puder criar, no seu servidor web (Apache, Nginx, ...), um Host Virtual dedicado com PHP habilitado e um diretório Root no
    %s
    em seguida, defina o nome do host virtual que você criou nas propriedades do site, para que a visualização possa ser feita também usando esse acesso ao servidor web dedicado, em vez do servidor Dolibarr interno. YouCanAlsoTestWithPHPS= Usar com servidor embutido em PHP
    No ambiente de desenvolvimento, você pode preferir testar o site com o servidor da Web incorporado em PHP (o PHP 5.5 é necessário) executando o php -S 0.0. 0,0: 8080 -t %s TestDeployOnWeb=Testar / implementar na web PreviewSiteServedByWebServer= Visualize %s em uma nova guia.

    O %s será servido por um servidor web externo (como Apache, Nginx, IIS). Você deve instalar e configurar este servidor antes de apontar para o diretório:
    %s
    URL servido por servidor externo:
    %s @@ -56,7 +55,6 @@ SorryWebsiteIsCurrentlyOffLine=Desculpe, este site está off-line. Volte mais ta WEBSITE_USE_WEBSITE_ACCOUNTS=Habilitar a tabela da conta do site WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Ative a tabela para armazenar contas do site (login / senha) para cada site / terceiros YouMustDefineTheHomePage=Você deve primeiro definir a Home page padrão -OnlyEditionOfSourceForGrabbedContentFuture=Atenção: A criação de uma página da web através da importação de uma página web externa é reservada para usuários experientes. Dependendo da complexidade da página de origem, o resultado da importação pode diferir do original. Além disso, se a página de origem usar estilos CSS comuns ou javascript conflitante, isso poderá quebrar a aparência ou os recursos do editor de site ao trabalhar nesta página. Esse método é uma maneira mais rápida de criar uma página, mas é recomendável criar sua nova página a partir do zero ou de um modelo de página sugerido.
    Note também que as edições de fontes HTML serão possíveis quando o conteúdo da página for inicializado, editando a partir de uma página externa (o editor 'Online' NÃO estará disponível) OnlyEditionOfSourceForGrabbedContent=Apenas uma edição de fonte HTML é possível quando o conteúdo foi extraído de um site externo GrabImagesInto=Pegue também imagens encontradas no css e na página. WebsiteRootOfImages=Diretório raiz para imagens do site diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index 8924d7d7e5d..53c118f9204 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Nota: não está definido nenhum limite na sua configuração do PHP MaxSizeForUploadedFiles=Tamanho máximo para os ficheiros enviados (0 para rejeitar qualquer envio) UseCaptchaCode=Utilizar código gráfico (CAPTCHA) na página de iniciar a sessão -AntiVirusCommand= Caminho completo para o comando de antivírus -AntiVirusCommandExample= Exemplo para ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Exemplo para ClamAV: /usr/bin/clamscan +AntiVirusCommand=Caminho completo para o comando de antivírus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Mais parâmetros na linha de comando -AntiVirusParamExample= Exemplo para ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Configuração do módulo de "Contabilidade" UserSetup=Configuração e gestão dos utilizadores MultiCurrencySetup=Configuração da utilização de várias moedas @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Opção desativada em demo FeatureAvailableOnlyOnStable=Funcionalidade apenas disponível em versões estáveis ​​oficiais BoxesDesc=Widgets são componentes que mostram algumas informações que você pode adicionar para personalizar algumas páginas. Você pode escolher entre mostrar o widget ou não selecionando a página de destino e clicando em "Ativar" ou clicando na lixeira para desativá-la. OnlyActiveElementsAreShown=Só são mostrados os elementos de módulos ativos. -ModulesDesc=Os módulos / aplicativos determinam quais recursos estão disponíveis no software. Alguns módulos requerem permissões para serem concedidos aos usuários depois de ativar o módulo. Clique no botão on / off (no final da linha do módulo) para ativar / desativar um módulo / aplicativo. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Pode encontrar mais módulos para descarregar noutros sites da internet... ModulesDeployDesc=Se as permissões em seu sistema de arquivos permitirem, você poderá usar essa ferramenta para implantar um módulo externo. O módulo ficará visível na aba %s . ModulesMarketPlaces=Procurar aplicações/módulos externos @@ -212,6 +212,7 @@ CompatibleUpTo=Compatível com a versão %s NotCompatible=Este módulo não parece compatível com o seu Dolibarr %s (Min%s - Max%s). CompatibleAfterUpdate=Este módulo requer uma atualização para o seu Dolibarr %s(Min%s-Max%s). SeeInMarkerPlace=Veja no mercado de modulos +SeeSetupOfModule=Veja a configuração do módulo %s Updated=Atualizado Nouveauté=Novidade AchatTelechargement=Comprar / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=Lista de empresas que fornecem módulos ou recursos desenvolvid WebSiteDesc=Sites externos para módulos adicionais (não principais) ... DevelopYourModuleDesc=Algumas soluções para desenvolver seu próprio módulo ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Aplicativos disponíveis BoxesActivated=Aplicativos ativados ActivateOn=Ativar sobre @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Deixar em branco para usar o valor por omissão DefaultLink=Hiperligação predefinida SetAsDefault=Definir como predefinição ValueOverwrittenByUserSetup=Aviso: Este valor pode ter sido modificado pela configuração específica de um utilizador (cada utilizador pode definir o seu próprio link ClickToDial) -ExternalModule=Módulo externo - Instalado no diretório %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Código de barras em massa init para terceiros BarcodeInitForProductsOrServices=Inicialização ou reposição de códigos de barras em massa para produtos ou serviços CurrentlyNWithoutBarCode=Atualmente, você tem o registo %s em %s %s sem o código de barras definido. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Distritos DictionaryCountry=Países DictionaryCurrency=Moedas -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Tipos de eventos da agenda DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Taxa de IVA @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Taxa LocalTax1IsNotUsed=Não utilizar um segundo imposto LocalTax1IsUsedDesc=Use um segundo tipo de imposto (diferente do primeiro) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=A taxa de IRPF por padrão ao criar prospetos, faturas, or LocalTax2IsNotUsedDescES=Por defeito, o IRS 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, são empresas não sujeitas ao sistema fiscal de módulos. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Relatórios sobre impostos locais CalcLocaltax1=Vendas - Compras CalcLocaltax1Desc=Os relatórios de impostos locais são calculados através da diferença entre as vendas de impostos locais e as compras de impostos locais @@ -1018,6 +1025,7 @@ CalcLocaltax2=Compras CalcLocaltax2Desc=Os relatórios de impostos locais são o total de compras de impostos locais CalcLocaltax3=Vendas CalcLocaltax3Desc=Os relatórios de impostos locais são o total de vendas de impostos locais +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etiqueta que será utilizada por defeito se não for encontrada tradução para este código LabelOnDocuments=Etiqueta sobre documentos LabelOrTranslationKey=Etiqueta ou chave de tradução @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Antes de começar a usar o Dolibarr, alguns parâmetros iniciais devem ser definidos e módulos ativados / configurados. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Eventos de auditoria da segurança Audit=Auditoria @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Os parâmetros de configuração só podem ser definidos pelos utilizadores administradores. SystemInfoDesc=Esta informação do sistema é uma informação técnica acessível só para leitura dos administradores. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Configuração do módulo "Utilizadores" UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Configuração do módulo "GRH" ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Modelo de documentos de faturas BillsPDFModulesAccordindToInvoiceType=Modelos de documentos de faturas de acordo com o tipo de fatura PaymentsPDFModules=Modelos de documentos de pagamento ForceInvoiceDate=Forçar a data de fatura para a data de validação -SuggestedPaymentModesIfNotDefinedInInvoice=Formas de pagamento sugeridas para faturas por defeito, se não estiverem definidas explicitamente +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Texto livre em faturas @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Configuração do módulo de orçamentos ProposalsNumberingModules=Modelos de numeração do orçamento ProposalsPDFModules=Modelos de documentos de orçamento -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Texto livre nos orçamentos WatermarkOnDraftProposal=Marca de água nos orçamentos rascunhos (nenhuma, se vazio) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Pedir por conta bancária do destino do orçamento @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Pedir qual o armazém origem para a encomen ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Pedir conta bancária destinatária para encomendas a fornecedores ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Modelos de numeração de encomendas OrdersModelModule=Modelos de documentos de encomendas @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/pt_PT/bills.lang b/htdocs/langs/pt_PT/bills.lang index ce64ef91892..2dacb43642f 100644 --- a/htdocs/langs/pt_PT/bills.lang +++ b/htdocs/langs/pt_PT/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Fatura de fornecedor SupplierBills=faturas de fornecedores Payment=Pagamento -PaymentBack=Reembolso -CustomerInvoicePaymentBack=Reembolso +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Pagamentos PaymentsBack=Refunds paymentInInvoiceCurrency=na moeda das faturas PaidBack=Reembolsada DeletePayment=Eliminar pagamento ConfirmDeletePayment=Tem a certeza que deseja eliminar este pagamento? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Pagamentos recebidos @@ -219,7 +219,10 @@ ShowInvoiceSituation=Mostrar fatura da situação UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Pagar ToMakePaymentBack=Reembolsar ListOfYourUnpaidInvoices=Lista de faturas não pagas NoteListOfYourUnpaidInvoices=Nota: Esta lista apenas contém fatura de terceiros dos quais você está definido como representante de vendas. -RevenueStamp=Selo fiscal +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=Você precisa criar uma fatura padrão primeiro e convertê-la em "modelo" para criar uma nova fatura modelo -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Modelo PDF da fatura Esponja. Um modelo de fatura completo PDFCrevetteDescription=Modelo PDF da fatura Crevette. Um modelo de fatura completo para faturas de situação TerreNumRefModelDesc1=Devolve o número com o formato %syymm-nnnn para facturas standard e %syymm-nnnn para notas de crédito em que yy é ano, mm é mês e nnnn é uma sequência sem pausa e sem retorno a 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Definir data final para a linha de serviço com a próxima data d AutoFillDateToShort=Definir data final MaxNumberOfGenerationReached=Número máximo de gen. alcançado BILL_DELETEInDolibarr=Fatura eliminada +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/pt_PT/blockedlog.lang b/htdocs/langs/pt_PT/blockedlog.lang index fced720f550..d50a1d77f48 100644 --- a/htdocs/langs/pt_PT/blockedlog.lang +++ b/htdocs/langs/pt_PT/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Logs inalteráveis ShowAllFingerPrintsMightBeTooLong=Mostrar todos os logs arquivados (podem ser longos) ShowAllFingerPrintsErrorsMightBeTooLong=Mostrar todos os logs de arquivo não válidos (podem ser longos) DownloadBlockChain=Baixe impressões digitais -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=O log arquivado parece válido em comparação com o anterior, mas a cadeia foi corrompida anteriormente. AddedByAuthority=Armazenado em autoridade remota diff --git a/htdocs/langs/pt_PT/cashdesk.lang b/htdocs/langs/pt_PT/cashdesk.lang index d7da654dbc5..43080da1bfc 100644 --- a/htdocs/langs/pt_PT/cashdesk.lang +++ b/htdocs/langs/pt_PT/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Adicionar este artigo RestartSelling=Voltar para vendas SellFinished=Venda efetuada PrintTicket=Imprimir recibo +SendTicket=Send ticket NoProductFound=Nenhum artigo encontrado ProductFound=produto encontrado NoArticle=Nenhum artigo @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nº de faturas Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Navegador BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/pt_PT/companies.lang b/htdocs/langs/pt_PT/companies.lang index f858136653d..79d4c087127 100644 --- a/htdocs/langs/pt_PT/companies.lang +++ b/htdocs/langs/pt_PT/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=A Empresa "%s" foi Eliminada ListOfContacts=Lista de Contactos ListOfContactsAddresses=Lista de Contactos ListOfThirdParties=Lista de Terceiros -ShowCompany=Mostrar terceiros ShowContact=Mostrar Contacto ContactsAllShort=Todos (sem filtro) ContactType=Tipo de Contacto @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Primeiro nome do representante de vendas SaleRepresentativeLastname=Último nome do representante de vendas ErrorThirdpartiesMerge=Houve um erro ao eliminar os terceiros. Por favor, verifique o registo. As alterações foram revertidas. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/pt_PT/compta.lang b/htdocs/langs/pt_PT/compta.lang index 3a29e054498..c19fc1ec380 100644 --- a/htdocs/langs/pt_PT/compta.lang +++ b/htdocs/langs/pt_PT/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Consulte %sanálise de payments%s para um cálculo de SeeReportInDueDebtMode=Consulte %sanálise de invoices%s para um cálculo baseado em faturas registradas conhecidas, mesmo que elas ainda não tenham sido contabilizadas no Ledger. SeeReportInBookkeepingMode=Consulte %sRelatório de reservas%s para um cálculo na tabela Razão da contabilidade RulesAmountWithTaxIncluded=- Os montantes exibidos contêm todas as taxas incluídas -RulesResultDue=- Inclui faturas pendentes, despesas, IVA, doações, sejam elas pagas ou não. Inclui também salários pagos.
    - Baseia-se na data de validação das faturas e do IVA e na data de vencimento das despesas. Para os salários definidos com o módulo Salário, a data-valor do pagamento é utilizada. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Inclui os pagamentos reais feitos em faturas, despesas, IVA e salários.
    - Baseia-se nas datas de pagamento das faturas, despesas, IVA e salários. A data de doação para doação. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=Inclui todas as linhas de crédito do diário de venda. RulesAmountOnInOutBookkeepingRecord=Inclui registro em seu livro contábil com contas contábeis que tem o grupo "DESPESA" ou "LUCRO" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Volume de negócios faturado por taxa de imposto sobre vendas TurnoverCollectedbyVatrate=Volume de negócios cobrado pela taxa de imposto sobre vendas PurchasebyVatrate=Compra por taxa de imposto sobre vendas LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index ae9275ab0c3..b86e65b680a 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Arquivo não foi recebido completamente pelo servidor. ErrorNoTmpDir=directorio Temporário %s não existe. ErrorUploadBlockedByAddon=Upload bloqueado por um plugin PHP Apache /. ErrorFileSizeTooLarge=O tamanho do arquivo é muito grande. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Tamanho demasiado longo para o tipo int (%s máximo dígitos) ErrorSizeTooLongForVarcharType=Tamanho demasiado longo para o tipo string (%s máximo chars) ErrorNoValueForSelectType=Por favor, preencha o valor para lista de selecção @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=Uma senha foi definida para este membro. No entanto, nenhuma conta de usuário foi criada. Portanto, essa senha é armazenada, mas não pode ser usada para fazer login no Dolibarr. Pode ser usado por um módulo externo / interface, mas se você não precisa definir nenhum login nem senha para um membro, você pode desativar a opção "Gerenciar um login para cada membro" da configuração do módulo de membro. Se você precisar gerenciar um login, mas não precisar de nenhuma senha, poderá manter esse campo vazio para evitar esse aviso. Nota: O email também pode ser usado como um login se o membro estiver vinculado a um usuário. diff --git a/htdocs/langs/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index 9b836cf1158..a13fa7eba64 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Este PHP suporta o Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=Este PHP suporta funções UTF8. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=A sua memória máxima da sessão PHP está definida para %s. Isto deverá ser suficiente. PHPMemoryTooLow=Sua memória de sessão do PHP max está configurada para %s bytes. Isso é muito baixo. Altere seu php.ini para definir o parâmetro memory_limit para pelo menos %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=A sua instalação PHP não suporta Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Sua instalação do PHP não suporta funções UTF8. Dolibarr não pode funcionar corretamente. Resolva isso antes de instalar o Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=A diretoria %s não existe. ErrorGoBackAndCorrectParameters=Volte e verifique / corrija os parâmetros. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=O aplicativo tentou fazer o upgrade automático, YouTryInstallDisabledByFileLock=O aplicativo tentou fazer o upgrade automático, mas as páginas de instalação / atualização foram desativadas para segurança (pela existência de um arquivo de bloqueio install.lock no diretório de documentos dolibarr). ClickHereToGoToApp=Clique aqui para ir ao seu aplicativo ClickOnLinkOrRemoveManualy=Clique no link a seguir. Se você sempre vê esta mesma página, você deve remover / renomear o arquivo install.lock no diretório de documentos. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/pt_PT/link.lang b/htdocs/langs/pt_PT/link.lang index 7ff3b74a22c..49a5aaaef43 100644 --- a/htdocs/langs/pt_PT/link.lang +++ b/htdocs/langs/pt_PT/link.lang @@ -8,3 +8,4 @@ LinkRemoved=A hiperligação %s foi removida ErrorFailedToDeleteLink= falhou a remoção da ligação '%s' ErrorFailedToUpdateLink= Falha na atualização de ligação '%s' URLToLink=URL para hiperligação +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/pt_PT/mails.lang b/htdocs/langs/pt_PT/mails.lang index 24ce7015897..e742b00fd45 100644 --- a/htdocs/langs/pt_PT/mails.lang +++ b/htdocs/langs/pt_PT/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Nenhum contato / endereço com uma categoria encontra NoContactLinkedToThirdpartieWithCategoryFound=Nenhum contato / endereço com uma categoria encontrada OutGoingEmailSetup=Configuração de email de saída InGoingEmailSetup=Configuração de email de entrada -OutGoingEmailSetupForEmailing=Configuração de email de saída (para envio em massa) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Configuração de email de saída padrão Information=Informação ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 273f77e31c6..0b8162089a5 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Testar conexão ToClone=Clonar +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Não existem dados definidos para clonar. Of=de @@ -829,6 +830,8 @@ Gender=Género Genderman=Homem Genderwoman=Mulher ViewList=Ver Lista +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obrigatório Hello=Olá GoodBye=Adeus @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/pt_PT/other.lang b/htdocs/langs/pt_PT/other.lang index 1822aec2da0..0a33852c36e 100644 --- a/htdocs/langs/pt_PT/other.lang +++ b/htdocs/langs/pt_PT/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL da página WEBSITE_TITLE=Título WEBSITE_DESCRIPTION=Descrição WEBSITE_IMAGE=Imagem -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Palavras-chave LinesToImport=Linhas a importar diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index 59c7166cd74..ed279a0744a 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Inicialização por código de barras em massa MassBarcodeInitDesc=Esta página pode ser usada para inicializar um código de barras em objetos que não possuem código de barras definido. Verifique antes que a configuração do código de barras do módulo esteja concluída. ProductAccountancyBuyCode=Código de contabilidade (compra) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Código de contabilidade (venda) ProductAccountancySellIntraCode=Código contábil (venda intracomunitária) ProductAccountancySellExportCode=Código de contabilidade (venda exportação) @@ -165,7 +167,7 @@ SuppliersPrices=Preços de fornecedor SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Código Aduaneiro / Commodity / HS CountryOrigin=País de origem -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Rótulo curto Unit=Unidade p=você. diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index 73ad2b0c810..d1ec4809bb8 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Tempo ListOfTasks=Lista de tarefas GoToListOfTimeConsumed=Ir para a lista de tempo consumido -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Vista de Gantt ListProposalsAssociatedProject=Lista das propostas comerciais relacionadas ao projeto ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Carga de trabalho prevista PlannedWorkloadShort=Carga de trabalho ProjectReferers=Itens relacionados ProjectMustBeValidatedFirst=Primeiro deve validar o projeto -FirstAddRessourceToAllocateTime=Atribuir um recurso do usuário à tarefa para alocar tempo +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Entrada por dia InputPerWeek=Entrada por semana InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Últimos %s projetos modificados OtherFilteredTasks=Outras tarefas filtradas NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Permitir comentários de usuários sobre tarefas AllowCommentOnProject=Permitir comentários de usuários em projetos @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nova fatura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/pt_PT/receiptprinter.lang b/htdocs/langs/pt_PT/receiptprinter.lang index 0a295c55579..b786db547bb 100644 --- a/htdocs/langs/pt_PT/receiptprinter.lang +++ b/htdocs/langs/pt_PT/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Impressora de Teste CONNECTOR_NETWORK_PRINT=Impressora de Rede CONNECTOR_FILE_PRINT=Impressora Local CONNECTOR_WINDOWS_PRINT=Impressora do Windows Local +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Impressora de Teste para testar, não faz nada CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Perfil Predefinido PROFILE_SIMPLE=Perfil Simples PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Ref. fatura +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/pt_PT/stripe.lang b/htdocs/langs/pt_PT/stripe.lang index cc9e30cffc6..ee0f48cc59a 100644 --- a/htdocs/langs/pt_PT/stripe.lang +++ b/htdocs/langs/pt_PT/stripe.lang @@ -32,6 +32,7 @@ VendorName=Nome do fornecedor CSSUrlForPaymentForm=CSS url folha de estilo para forma de pagamento NewStripePaymentReceived=Novo pagamento Stripe recebido NewStripePaymentFailed=Nova tentativa de pagamento Stripo, mas falhou +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Chave de teste secreta STRIPE_TEST_PUBLISHABLE_KEY=Chave de teste publicável STRIPE_TEST_WEBHOOK_KEY=Chave de teste Webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/pt_PT/users.lang b/htdocs/langs/pt_PT/users.lang index b200b42a58a..a5e87314b36 100644 --- a/htdocs/langs/pt_PT/users.lang +++ b/htdocs/langs/pt_PT/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Utilizador de Domínio %s Reactivate=Reativar CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=A permissão dá-se já que o herda de um grupo ao qual pertenece o utilizador. Inherited=Herdado UserWillBeInternalUser=O utilizador criado irá ser um utilizador interno (porque não está interligado com um terceiro em particular) @@ -110,3 +110,8 @@ UserLogged=Utilizador conectado DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/pt_PT/website.lang b/htdocs/langs/pt_PT/website.lang index 5f3112d92c8..404cb9f8cec 100644 --- a/htdocs/langs/pt_PT/website.lang +++ b/htdocs/langs/pt_PT/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Ver página no novo separador SetAsHomePage=Definir como página de 'Início' RealURL=URL Real ViewWebsiteInProduction=Ver site da Web utilizando URLs de início -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS= Usar com servidor embutido em PHP
    No ambiente de desenvolvimento, você pode preferir testar o site com o servidor da Web incorporado em PHP (requer PHP 5.5) executando php -S 0.0. 0,0: 8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Verifique também se o host virtual tem permissão %s em arquivos para o %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Ativar a tabela de contas do site WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=Primeiro deve definir a página de Início predefinida -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Somente edição de fonte HTML é possível quando o conteúdo foi obtido de um site externo GrabImagesInto=Pegue também imagens encontradas em css e página. ImagesShouldBeSavedInto=As imagens devem ser salvas no diretório @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index 8f60b7aa1f2..31613a3ef4d 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Notă: configurația dvs. PHP limitează în p NoMaxSizeByPHPLimit=Notă: Nicio limită setată în configuraţia dvs. PHP MaxSizeForUploadedFiles=Mărimea maximă pentru fişierele încărcate (0 pentru a interzice orice încărcare) UseCaptchaCode=Utilizaţi codul grafic (CAPTCHA) pe pagina de login -AntiVirusCommand= Calea completă la comanda antivirus -AntiVirusCommandExample= Exemplu pentru ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Examplu pentru ClamAv: /usr/bin/clamscan +AntiVirusCommand=Calea completă la comanda antivirus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Mai multe despre parametrii în linia de comandă -AntiVirusParamExample= Exemplu pentru ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Setări Modul Contabilitate UserSetup=Setări Modul Utilizatori MultiCurrencySetup=Setarea în mai multe valute @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funcţonalitate dezactivată în demo FeatureAvailableOnlyOnStable=Funcție disponibilă numai pe versiuni oficiale stabile BoxesDesc=Widgeturile sunt componente care prezintă unele informații pe care le puteți adăuga pentru a personaliza unele pagini. Puteți alege între afișarea sau neafișarea widget-ului , selectând pagina țintă și dând clic pe "Activați" sau făcând clic pe coșul de gunoi pentru a o dezactiva. OnlyActiveElementsAreShown=Numai elementele din module activate sunt afişate. -ModulesDesc=Modulele / aplicațiile determină care caracteristici sunt disponibile în software. Unele module necesită permisiuni pentru a fi acordate utilizatorilor după activarea modulului. Faceți clic pe butonul on/off (la sfârșitul liniei de module) pentru a activa/dezactiva un modul/aplicație. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Puteți descărca mai multe module de pe site-uri externe de pe Internet ... ModulesDeployDesc=Dacă permisiunile sistemului dvs. de fișiere permit acest lucru, puteți utiliza acest instrument pentru a implementa un modul extern. Modulul va fi apoi vizibil în tab %s . ModulesMarketPlaces=Găsiți aplicația / modulele externe @@ -212,6 +212,7 @@ CompatibleUpTo=Compatibil cu versiunea %s NotCompatible=Acest modul nu pare compatibil cu Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Acest modul necesită o actualizare la Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Consultați Market place +SeeSetupOfModule=Vezi setare modul %s Updated=Updatat Nouveauté=Noutate AchatTelechargement=Cumpărați / Descărcați @@ -221,6 +222,7 @@ DoliPartnersDesc=Lista companiilor care oferă module sau caracteristici dezvolt WebSiteDesc=Site-uri externe pentru module suplimentare (non-core) ... DevelopYourModuleDesc=Unele soluții pentru a vă dezvolta propriul modul ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgeturi disponibile BoxesActivated=Widgeturile activate ActivateOn=Activaţi pe @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Lasă gol pentru utilizarea valorii implicite DefaultLink=Link implicit SetAsDefault=Setați ca implicit ValueOverwrittenByUserSetup=Atenție, această valoare poate fi suprascrisă de setările specifice utilizatorului (fiecare utilizator poate seta propriul url clicktodial) -ExternalModule=Modul extern - instalat în directorul %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Cod de bare de masă pentru terți BarcodeInitForProductsOrServices=Init sau reset cod de bare în masă pentru produse şi servicii CurrentlyNWithoutBarCode=În prezent, aveti %s inregistrari pe %s %s fără cod de bare definit. @@ -947,7 +950,7 @@ DictionaryCanton=State/Provincii DictionaryRegion=Regiuni DictionaryCountry=Ţări DictionaryCurrency=Monede -DictionaryCivility=Titlul de politețe +DictionaryCivility=Honorific titles DictionaryActions=Tipuri evenimente agenda DictionarySocialContributions=Tipuri de taxe sociale si fiscale DictionaryVAT=Cote TVA sau Cote Taxe Vanzări @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Implicit, taxa de vânzare propusă este 0, ea poate fi utiliza VATIsUsedExampleFR=În Franța, înseamnă companii sau organizații care au un sistem fiscal real (Simplificat real sau normal real). Un sistem în care TVA este declarată . VATIsNotUsedExampleFR=În Franța, înseamnă că sunt declarate asociații care nu sunt plătitoare de taxe sau societăți, organizații sau profesii liberale care au ales sistemul fiscal micro intreprindere (taxe de vânzări în franciză) şi plătesc taxe de vânzare de franciză fără nicio declarație de taxe de vânzare. Această opțiune va afișa referinţa "Vânzări cu taxe neaplicabile - art-293B de CGI" pe facturi. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rată LocalTax1IsNotUsed=Nu utilizează taxa secundă LocalTax1IsUsedDesc=Utilizați un al doilea tip de taxă (alta decât prima) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Rata IRPF în mod implicit când se creează perspective, LocalTax2IsNotUsedDescES=În mod implicit propus IRPF este 0. Sfârşitul regulă. LocalTax2IsUsedExampleES=În Spania, liber profesionişti şi specialişti independenţi, care presta servicii şi companiile care au ales sistemul de impozitare de module. LocalTax2IsNotUsedExampleES=În Spania, sunt întreprinderi care nu sunt supuse sistemului de taxare pe module. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Rapoarte pe taxe locale CalcLocaltax1=Vânzări - Cumpârări CalcLocaltax1Desc=Rapoarte Taxe Locale este calcult ca diferenţă dintre taxele locale de vanzare şi taxele locale de cumparare @@ -1018,6 +1025,7 @@ CalcLocaltax2=Achiziţii CalcLocaltax2Desc=Rapoarte Taxe Locale este totalul taxelor locale de cumpărare CalcLocaltax3=Vânzări CalcLocaltax3Desc=Rapoarte Taxe Locale este totalul taxelor locale de vanzare +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Eticheta utilizat în mod implicit în cazul în care nu poate fi găsit de traducere pentru codul LabelOnDocuments=Eticheta de pe documente LabelOrTranslationKey=Etichetă sau cheie de traducere @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Raportul de cheltuieli pentru aprobare Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Înainte de a începe să utilizați Dolibarr, unii parametri inițiali trebuie să fie definiți and modulele activate/configurate. SetupDescription2=Următoarele două secțiuni sunt obligatorii (primele două intrări din meniul de configurare) -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Alte intrări în meniul de configurare gestionează parametrii opționali. LogEvents=Audit de securitate evenimente Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Activați autentificarea pentru anumite evenimente de securitate. A AreaForAdminOnly=Parametrii de configurare pot fi setați numai de utilizatorii administratori . SystemInfoDesc=Sistemul de informare este diverse informaţii tehnice ai citit doar în modul şi vizibil doar pentru administratori. SystemAreaForAdminOnly=Acest zonă este disponibilă numai administratori. Permisiunile utilizatorilor Dolibarr nu pot modifica această restricție -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parametrii care afectează aspectul şi comportamentul Dolibarr pot fi modificaţi aici. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Reguli pentru generarea și validarea parolelor DisableForgetPasswordLinkOnLogonPage=Nu afișați link-ul "Parola uitată" pe pagina de autentificare UsersSetup=Utilizatorii modul de configurare UserMailRequired=E-mailul necesar pentru a crea un utilizator nou +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Configurare Modul HRM ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Factura modele de documente BillsPDFModulesAccordindToInvoiceType=Modele de documente de facturare în funcție de tipul de factură PaymentsPDFModules=Modele de documente de plată ForceInvoiceDate=Vigoare la data facturii de validare data -SuggestedPaymentModesIfNotDefinedInInvoice=Sugestii cu privire la modul de plata facturii, în mod implicit, dacă nu este definit de factură +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Sugerați plata prin retragere din cont SuggestPaymentByChequeToAddress=Sugerați plata de prin cec către FreeLegalTextOnInvoices=Free text pe facturi @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Configurarea plăților furnizorului PropalSetup=Modul configurare Oferte Comerciale ProposalsNumberingModules=Modele numerotare Oferte Comerciale ProposalsPDFModules=Modele documente Oferte Comerciale -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Cereţi sursa depozitului pentru comandă ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Cereţi contul bancar al beneficiarului unei comenzi de achiziție ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Setări pentru gestionarea comenzilor de vânzări OrdersNumberingModules=Ordinele de numerotare module OrdersModelModule=Ordinul modele de documente @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ro_RO/bills.lang b/htdocs/langs/ro_RO/bills.lang index c973f37860a..e947ece0ec0 100644 --- a/htdocs/langs/ro_RO/bills.lang +++ b/htdocs/langs/ro_RO/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Facturi Furnizori SupplierBill=Factura furnizorului SupplierBills=Facturi Furnizori Payment=Plată -PaymentBack=Restituire Plată -CustomerInvoicePaymentBack=Restituire Plată +PaymentBack=Rambursare +CustomerInvoicePaymentBack=Rambursare Payments=Plăţi PaymentsBack=Refunds paymentInInvoiceCurrency=in moneda facturii PaidBack=Restituit DeletePayment=Ştergere plată ConfirmDeletePayment=Sunteţi sigur că doriţi să ştergeţi această plată? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Plățile furnizorului ReceivedPayments=Încasări primite @@ -219,7 +219,10 @@ ShowInvoiceSituation=Afişează factura de situaţie UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Plăteşte ToMakePaymentBack=Rambursează ListOfYourUnpaidInvoices=Lista facturilor neplătite NoteListOfYourUnpaidInvoices=Notă: Această listă conține numai facturile pentru partenerii la care sunteţi reprezentant de vânzării. -RevenueStamp=Timbru fiscal +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Această opțiune este disponibilă numai când creați o factură din fila "Client" al unui terț YouMustCreateInvoiceFromSupplierThird=Această opțiune este disponibilă numai când creați o factură din fila "Furnizor" al unui terț YouMustCreateStandardInvoiceFirstDesc=Intai se poate crea o factură standard si se transforma in model pentru a avea un nou model de factura. -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Factura PDF șablon Burete. Un șablon complet de factură PDFCrevetteDescription=Model factură PDF Crevette. Un model complet pentru factura de situaţie TerreNumRefModelDesc1=Returnează numărul sub forma %syymm-nnnn pentru facturile standard și %syymm-nnnn pentru notele de credit unde yy este anul, mm este luna și nnnn este o secvenţă fără nici o pauză și fără revenire la 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Setați data de încheiere pentru linia de servicii cu data urmă AutoFillDateToShort=Setați data de încheiere MaxNumberOfGenerationReached=Numărul maxim de gen. atins BILL_DELETEInDolibarr=Factură ştearsă +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ro_RO/blockedlog.lang b/htdocs/langs/ro_RO/blockedlog.lang index 8606592e234..854459a81da 100644 --- a/htdocs/langs/ro_RO/blockedlog.lang +++ b/htdocs/langs/ro_RO/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Înregistrări nemodificate ShowAllFingerPrintsMightBeTooLong=Arată toate jurnalele arhivate (ar putea fi lungi) ShowAllFingerPrintsErrorsMightBeTooLong=Arată toate jurnalele de arhivă nevalide (ar putea fi lungi) DownloadBlockChain=Descărcați amprentele digitale -KoCheckFingerprintValidity=Intrarea în jurnal arhivată nu este validă. Aceasta înseamnă că cineva (un hacker?) a modificat unele date ale acestei inregistrări după ce a fost înregistrată sau a șters înregistrarea arhivată precedentă (verifică că linia cu # anterior există). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Intrarea în jurnal arhivată este validă. Datele de pe această linie nu au fost modificate şi intrarea urmează cele precedente. OkCheckFingerprintValidityButChainIsKo=Jurnalul arhivat pare valabil în comparație cu cel precedent, dar lanțul a fost corupt anterior. AddedByAuthority=Stocată în autoritate la distanţă diff --git a/htdocs/langs/ro_RO/cashdesk.lang b/htdocs/langs/ro_RO/cashdesk.lang index d22a54f9e2a..785065d2cf1 100644 --- a/htdocs/langs/ro_RO/cashdesk.lang +++ b/htdocs/langs/ro_RO/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Adauga acest articol RestartSelling=Du-te inapoi la vânzare SellFinished=Vanzare completa PrintTicket=Print bon +SendTicket=Send ticket NoProductFound=Niciun articol gasit ProductFound=produs găsit NoArticle=Niciun articol @@ -48,6 +49,7 @@ Footer=Subsol AmountAtEndOfPeriod=Valoare la sfârșitul perioadei (zi, lună sau an) TheoricalAmount=Valoare teoretică RealAmount=Sumă reală +CashFence=Cash fence CashFenceDone=Limita de bani realizată pentru perioada NbOfInvoices=Nr facturi Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS are nevoie de categorii de produse pentru a lucra OrderNotes=Note de comandă CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ro_RO/companies.lang b/htdocs/langs/ro_RO/companies.lang index 0e79c39d744..0f27f96698a 100644 --- a/htdocs/langs/ro_RO/companies.lang +++ b/htdocs/langs/ro_RO/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Societatea " %s" a fost ştearsă din baza de date. ListOfContacts=Lista Contacte ListOfContactsAddresses=Lista Contacte ListOfThirdParties=Lista terților -ShowCompany=Arată terțul ShowContact=Afişeză contact ContactsAllShort=Toate (fără filtru) ContactType=Tip Contact @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Numele reprezentantului vânzări SaleRepresentativeLastname=Prenumele reprezentantului vânzări ErrorThirdpartiesMerge=A apărut o eroare la ștergerea terților Verificați jurnalul. S-a revenit la setarile anterioare. NewCustomerSupplierCodeProposed=Codul clientului sau furnizorului utilizat deja, este sugerat un nou cod +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Tip de plată - Client PaymentTermsCustomer=Conditii de plata - Client diff --git a/htdocs/langs/ro_RO/compta.lang b/htdocs/langs/ro_RO/compta.lang index 3793fa21abe..5a9926309ff 100644 --- a/htdocs/langs/ro_RO/compta.lang +++ b/htdocs/langs/ro_RO/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Vedeți %sanaliza plăților%s pentru un calcul al pl SeeReportInDueDebtMode=Vedeți %sanaliza facturilor%s pentru un calcul bazat pe facturi înregistrate cunoscute, chiar dacă acestea nu sunt încă înregistrate în registru. SeeReportInBookkeepingMode=Vedeți %sraportul contabil%s pentru un calcul la Tabelul registrului contabil RulesAmountWithTaxIncluded=- Valoarea afişată este cu toate taxele incluse -RulesResultDue=- Include facturi deschise, cheltuieli, TVA, donații, indiferent dacă sunt plătite sau nu. Include, de asemenea, salariile plătite
    - Se ia în calcul data de validare a facturilor pentru TVA și data scadentă pentru cheltuieli. Pentru salarii definite cu modulul Salarii, este utilizată data plății. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Include plățile efective pe facturi, cheltuieli,TVA și salarii.
    - Se ia în calcul data plăţii facturilor, cheltuielilor, TVA-ului și salariilor . -RulesCADue=- include facturile de plată ale clientului, indiferent dacă sunt plătite sau nu.
    - Se bazează pe data de validare a acestor facturi.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- include toate plățile efective ale facturilor primite de la clienți.
    - se bazează pe data de plată a acestor facturi
    RulesCATotalSaleJournal=Acesta include toate liniile de credit din jurnalul de vânzare. RulesAmountOnInOutBookkeepingRecord=Acesta include înregistrarea în registrul dvs. cu conturi contabile care are grupul "CHELTUIELI" sau "VENIT" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Cifra de afaceri facturată prin rata impozitului pe vânzare TurnoverCollectedbyVatrate=Cifra de afaceri colectată prin rata impozitului pe vânzare PurchasebyVatrate=Cumpărare prin rata de impozitare a vânzării LabelToShow=Etichetă scurta +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index e4087e004cb..81bd2acc725 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Fişierul nu a primit complet de server. ErrorNoTmpDir=Temporare directy %s nu există. ErrorUploadBlockedByAddon=Încărcaţi blocat de un PHP / Apache plug-in. ErrorFileSizeTooLarge=Dimensiunea fişierului este prea mare. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Prea mult timp pentru tipul int (%s cifre maxim) Dimensiune ErrorSizeTooLongForVarcharType=Prea mult timp pentru tipul de coarde (%s de caractere maxim) Dimensiune ErrorNoValueForSelectType=Completaţi valorile pentru lista de selecţie @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount= O parolă a fost trimisă către acest membru. Cu toate acestea, nu a fost creat nici un cont de utilizator. Astfel, această parolă este stocată, dar nu poate fi utilizată pentru autentificare. Poate fi utilizată de către un modul / interfată externă, dar dacă nu aveți nevoie să definiți un utilizator sau o parolă pentru un membru, puteți dezactiva opțiunea "Gestionați o conectare pentru fiecare membru" din modul de configurare membri. În cazul în care aveți nevoie să gestionați un utilizator, dar nu este nevoie de parolă, aveți posibilitatea să păstrați acest câmp gol pentru a evita acest avertisment. Notă: Adresa de e-mail poate fi utilizată ca utilizator la autentificare, în cazul în care membrul este legat de un utilizator. diff --git a/htdocs/langs/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index 1dbbc1fd370..ed434445473 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Acest PHP suportă Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=Acest PHP suportă functiile UTF8. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=PHP max memorie sesiune este setată la %s. Acest lucru ar trebui să fie suficient. PHPMemoryTooLow=Memoria sesiunii PHP max este setată la %s octeți. Această valoare este prea mică. Schimbați-vă php.ini pentru a seta parametrul memory_limit la cel puțin %s octeți. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Instalarea dvs. PHP nu suportă Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Instalarea dvs. de PHP nu suportă funcții UTF8. Dolibarr nu poate funcționa corect. Rezolvați acest lucru înainte de a instala Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directorul %s nu există. ErrorGoBackAndCorrectParameters=Întoarceți-vă și verificați/corectați parametrii. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Aplicația a încercat să se autoactualizeze, î YouTryInstallDisabledByFileLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare / upgrade au fost dezactivate pentru securitate (prin existența unui fișier de blocare install.lock în directorul de documente Dolibarr).
    ClickHereToGoToApp=Faceți clic aici pentru a merge la aplicația dvs. ClickOnLinkOrRemoveManualy=Faceți clic pe următorul link. Dacă vedeți întotdeauna aceeași pagină, trebuie să eliminați / redenumiți fișierul install.lock din directorul de documente. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ro_RO/link.lang b/htdocs/langs/ro_RO/link.lang index 05dc60d8abc..9087a2eec65 100644 --- a/htdocs/langs/ro_RO/link.lang +++ b/htdocs/langs/ro_RO/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Linkul %s a fost înlăturat ErrorFailedToDeleteLink= Eşec la înlăturarea linkului '%s' ErrorFailedToUpdateLink= Eşec la modificarea linkului '%s' URLToLink=URL la link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/ro_RO/mails.lang b/htdocs/langs/ro_RO/mails.lang index 6a37037c8c4..e660aa77eb3 100644 --- a/htdocs/langs/ro_RO/mails.lang +++ b/htdocs/langs/ro_RO/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Nu s-a găsit niciun contact / adresă cu o categorie NoContactLinkedToThirdpartieWithCategoryFound=Nu s-a găsit niciun contact / adresă cu o categorie OutGoingEmailSetup=Setarea emailului de ieșire InGoingEmailSetup=Configurarea emailului de primire -OutGoingEmailSetupForEmailing=Setarea emailului de ieșire (pentru trimiterea de emailuri în masă) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Configurarea implicită a emailurilor de ieșire Information=Informatie ContactsWithThirdpartyFilter=Contacte cu filtrul terț diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index fa38056f25f..b9026ccd039 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test conexiune ToClone=Clonează +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Alegeți datele pe care doriți să le clonați: NoCloneOptionsSpecified=Nu există date definite pentru a clona . Of=de @@ -829,6 +830,8 @@ Gender=Gen Genderman=Barbat Genderwoman=Femeie ViewList=Vedere listă +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obligatoriu Hello=Salut GoodBye=La revedere @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/ro_RO/other.lang b/htdocs/langs/ro_RO/other.lang index cf65af8725e..f528c846026 100644 --- a/htdocs/langs/ro_RO/other.lang +++ b/htdocs/langs/ro_RO/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Comanda vânzărilor validată Notify_ORDER_SENTBYMAIL=Comanda vânzărilor a fost trimisă prin poștă Notify_ORDER_SUPPLIER_SENTBYMAIL=Comanda de cumparare trimisa prin e-mail @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL pagina WEBSITE_TITLE=Titlu WEBSITE_DESCRIPTION=Descriere WEBSITE_IMAGE=Imagine -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Cuvânt cheie LinesToImport=Linii de import diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index e1bfc320a42..90896e14ae9 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Acest instrument actualizează rata TVA definită pe < MassBarcodeInit=Init cod de bare în masă MassBarcodeInitDesc=Această pagină poate fi utilizată pentru a inițializa un cod de bare pe obiectele care nu au coduri de bare definit. Verificați înainte dacă modulul cod de bare este complet configurat. ProductAccountancyBuyCode=Codul contabil (achiziție) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Codul contabil (vânzare) ProductAccountancySellIntraCode=Codul contabil (vânzarea intracomunitară) ProductAccountancySellExportCode=Codul contabil (export de vânzare) @@ -165,7 +167,7 @@ SuppliersPrices=Prețurile furnizorului SuppliersPricesOfProductsOrServices=Prețurile furnizorilor (de produse sau servicii) CustomCode=Cod Vamal / Marfă / SA CountryOrigin=Ţara de origine -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Etichetă scurta Unit=Unit p=u. diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index e7fef439144..ff6bc18336d 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Timp ListOfTasks=Lista de sarcini GoToListOfTimeConsumed=Accesați lista de timp consumată -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Vizualizare Gantt ListProposalsAssociatedProject=Lista propunerilor comerciale aferente proiectului ListOrdersAssociatedProject=Lista comenzilor de vânzări aferente proiectului @@ -188,7 +186,7 @@ PlannedWorkload=Volum de lucru Planificat PlannedWorkloadShort=Volum de muncă ProjectReferers=Obiecte asociate ProjectMustBeValidatedFirst=Proiectul trebuie validat mai întâi -FirstAddRessourceToAllocateTime=Atribuiți o resursă de utilizator sarcinii de a aloca timp +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Intrare pe zi InputPerWeek=Intrare pe saptamana InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Ultimele %s proiecte modificate OtherFilteredTasks=Alte sarcini filtrate NoAssignedTasks=Nu au fost găsite sarcini atribuite (atribuiți proiectul / sarcinile utilizatorului curent din caseta de selectare superioară pentru a introduce ora pe acesta) ThirdPartyRequiredToGenerateInvoice=Un terț trebuie definit pe proiect pentru a putea să fie facturat. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Permiteți comentariile utilizatorilor pe sarcini AllowCommentOnProject=Permiteți comentariile utilizatorilor pe proiecte @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Factură nouă OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ro_RO/receiptprinter.lang b/htdocs/langs/ro_RO/receiptprinter.lang index e232e0a289e..046a9c068d1 100644 --- a/htdocs/langs/ro_RO/receiptprinter.lang +++ b/htdocs/langs/ro_RO/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Imprimanta Retea CONNECTOR_FILE_PRINT=Imprimanta locala CONNECTOR_WINDOWS_PRINT=Imprimanta locala Windows +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Imprimantă falsă de test, nu face nimic CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: secret @ computername / workgroup / Printer Receipt +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profil PROFILE_SIMPLE=Simplu Profil PROFILE_EPOSTEP=Epos Tep Profil @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Ref Factură +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Cod de identificare TVA intracomunitar +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ro_RO/stripe.lang b/htdocs/langs/ro_RO/stripe.lang index c4cd14aabde..9646bb98cf7 100644 --- a/htdocs/langs/ro_RO/stripe.lang +++ b/htdocs/langs/ro_RO/stripe.lang @@ -32,6 +32,7 @@ VendorName=Numele vânzătorului CSSUrlForPaymentForm=CSS foaie de URL-ul de stil pentru forma de plată NewStripePaymentReceived=Plata noua Stripe incasata NewStripePaymentFailed=Plata noua Stripe incercata dar esuata +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Cheie de testare secreta STRIPE_TEST_PUBLISHABLE_KEY=Cheia de test publicabilă STRIPE_TEST_WEBHOOK_KEY=Cheia de test Webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ro_RO/users.lang b/htdocs/langs/ro_RO/users.lang index f6bcf41b04b..efe38577914 100644 --- a/htdocs/langs/ro_RO/users.lang +++ b/htdocs/langs/ro_RO/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Utilizatorii și proprietățile acestora DomainUser=Domeniu utilizatorul %s Reactivate=Reactivaţi CreateInternalUserDesc=Acest formular vă permite să creați un utilizator intern în compania / organizația dvs. Pentru a crea un utilizator extern (client, furnizor etc.), utilizați butonul "Creare utilizator Dolibarr" de pe cartela de contact a terțului. -InternalExternalDesc=Un utilizator intern este un utilizator care face parte din compania / organizația dvs.
    Un utilizator extern este un client, un furnizor sau altul.

    În ambele cazuri, permisiunile definesc drepturile asupra Dolibarr, de asemenea, utilizatorul extern poate avea un manager de meniu diferit de cel al utilizatorului intern (consultați Home - Setup - Display) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Permisiunea acordată deoarece moştenită de la un utilizator al unui grup. Inherited=Moştenit UserWillBeInternalUser=De utilizator creat va fi un utilizator intern (pentru că nu este legată de o parte terţă) @@ -113,3 +113,5 @@ CantDisableYourself=Nu vă puteți dezactiva propria înregistrare de utilizator ForceUserExpenseValidator=Forţează validarea raportului de cheltuieli ForceUserHolidayValidator=Forţează validarea cererii de concediu ValidatorIsSupervisorByDefault= În mod implicit, validatorul este superviser-rul utilizatorului. Nu completaţi pentru a păstra acest comportament. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/ro_RO/website.lang b/htdocs/langs/ro_RO/website.lang index 985c2e2f7b4..6a998de377e 100644 --- a/htdocs/langs/ro_RO/website.lang +++ b/htdocs/langs/ro_RO/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Afișați pagina în fila nouă SetAsHomePage=Seteaza ca pagina Home RealURL=Real URL ViewWebsiteInProduction=Vizualizați site-ul web utilizând URL-urile de home -SetHereVirtualHost=  Utilizați cu Apache / NGinx / ...
    Dacă puteți crea, pe serverul dvs. de web (Apache, Nginx, ...), un gazdă dedicat cu PHP activat și un director Root pe
    %s
    apoi setați numele gazdei virtuale pe care ați creat-o în proprietățile site-ului web, astfel încât previzualizarea poate fi făcută și utilizând acest acces dedicat serverului web în loc de serverul intern Dolibarr. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS= Utilizarea cu serverul încorporat PHP
    În mediul de dezvoltare, puteți prefera să testați site-ul cu serverul web încorporat PHP (PHP 5.5 necesar) executând
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Verificați, de asemenea, că gazda virtuală are permisiunea %s pe fișiere în
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Activați tabelul contului site-ului web WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Activați tabelul pentru a stoca conturile site-urilor web (Autentificare/parola) pentru fiecare site / terț YouMustDefineTheHomePage=Mai întâi trebuie să definiți pagina de Home implicită -OnlyEditionOfSourceForGrabbedContentFuture=Avertisment: Crearea unei pagini web prin importarea unei pagini web externe este rezervată utilizatorilor experimentați. În funcție de complexitatea paginii sursă, rezultatul importului poate diferi de original. De asemenea, în cazul în care pagina sursă utilizează stiluri CSS comune sau javascript conflictual, este posibil să se spargă aspectul sau caracteristicile editorului de site Web atunci când lucrează pe această pagină. Această metodă reprezintă o modalitate mai rapidă de a crea o pagină, dar este recomandat să creați noua pagină de la zero sau dintr-un șablon de pagină sugerat.
    Rețineți, de asemenea, că modificările sursei HTML vor fi posibile atunci când conținutul paginii a fost inițializat prin preluarea de pe o pagină externă (editorul "Online" NU va fi disponibil) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Numai ediția sursei HTML este posibilă atunci când conținutul a fost preluat de pe un site extern GrabImagesInto=Luați și imaginile găsite în CSS și pagină. ImagesShouldBeSavedInto=Imaginile trebuie salvate în director @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index 063c10ed781..18a2d706a50 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Примечание: ваша конфигура NoMaxSizeByPHPLimit=Примечание: в вашей конфигурации PHP установлено no limit MaxSizeForUploadedFiles=Максимальный размер загружаемых файлов (0 для запрещения каких-либо загрузок) UseCaptchaCode=Использовать графический код (CAPTCHA) на странице входа -AntiVirusCommand= Полный путь к антивирусной команде -AntiVirusCommandExample= Пример для ClamWin: C: \\ Program Files (x86) \\ ClamWin \\ Bin \\ clamscan.exe
    Пример для ClamAV: / USR / BIN / clamscan +AntiVirusCommand=Полный путь к антивирусной команде +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Дополнительные параметры командной строки -AntiVirusParamExample= Пример для ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Настройка модуля бухгалтерского учета UserSetup=Настройка управления пользователями MultiCurrencySetup=Многовалютная настройка @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Функция отключена в демо - FeatureAvailableOnlyOnStable=Функция доступна только в официальных стабильных версиях BoxesDesc=Виджеты - это компоненты, показывающие некоторую информацию, которую можно добавить для персонализации некоторых страниц. Вы можете выбрать отображать или нет виджет, выбрав целевую страницу и нажав «Активировать», или щелкнув корзину, чтобы отключить ее. OnlyActiveElementsAreShown=Показаны только элементы из включенных модулей -ModulesDesc=Модули/приложения определяют, какие функции доступны в программном обеспечении. Некоторые модули требуют предоставления разрешений пользователям после активации модуля. Нажмите кнопку включения/выключения (в конце строки модуля), чтобы включить/отключить модуль/приложение. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=В интернете вы можете найти больше модулей для загрузки... ModulesDeployDesc=Если разрешения вашей файловой системе позволяют, вы можете использовать этот инструмент для развертывания внешнего модуля. Модуль будет виден на вкладке %s . ModulesMarketPlaces=Поиск внешних приложений/модулей @@ -212,6 +212,7 @@ CompatibleUpTo=Совместимость с версией %s NotCompatible=Этот модуль не совместим с вашим Dolibarr%s (Min%s - Max%s). CompatibleAfterUpdate=Этот модуль требует обновления вашего Dolibarr%s (Min%s - Max%s). SeeInMarkerPlace=См. На рынке +SeeSetupOfModule=Посмотреть настройку модуля %s Updated=Обновлено Nouveauté=Новое AchatTelechargement=Купить/Скачать @@ -221,6 +222,7 @@ DoliPartnersDesc=Список компаний, предоставляющих WebSiteDesc=Внешние веб-сайты для дополнительных модулей (неосновных) ... DevelopYourModuleDesc=Некоторые решения для разработки собственного модуля ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Доступные виджеты BoxesActivated=Включенные виджеты ActivateOn=Активировать @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Оставьте пустым для использова DefaultLink=Ссылка по умолчанию SetAsDefault=Установить по умолчанию ValueOverwrittenByUserSetup=Предупреждение: это значение может быть перезаписано в настройках пользователя (каждый пользователь может задать свои настройки ссылки ClickToDial) -ExternalModule=Внешний модуль - установлен в директорию %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Массовая инициализация штрих-кода для контрагентов BarcodeInitForProductsOrServices=Массовое создание или удаление штрих-кода для Товаров или Услуг CurrentlyNWithoutBarCode=В настоящее время у вас есть %sзапись на %s%s без определенного штрих-кода. @@ -947,7 +950,7 @@ DictionaryCanton=Штат/Провинция DictionaryRegion=Регионы DictionaryCountry=Страны DictionaryCurrency=Валюты -DictionaryCivility=Обращение +DictionaryCivility=Honorific titles DictionaryActions=Тип мероприятия DictionarySocialContributions=Типы социальных или налоговых сборов DictionaryVAT=Значения НДС или налога с продаж @@ -988,6 +991,7 @@ VATIsNotUsedDesc=По умолчанию предлагаемый налог с VATIsUsedExampleFR=Во Франции это означает компании или организации, имеющие реальную фискальную систему (упрощенная реальная или обычная реальная). Система, в которой декларируется НДС. VATIsNotUsedExampleFR=Во Франции это означает ассоциации, которые не декларируют НДС, или компании, организации или либеральные профессии, которые выбрали фискальную систему микропредприятий (НДС во франшизе) и уплатили налог на франшизу без какой-либо декларации НДС. При выборе этого варианта в счетах будет отображаться ссылка "Non applicable Sales tax - art-293B of CGI" («НДС не применяется - art-293B CGI»). ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Ставка LocalTax1IsNotUsed=Не использовать второй налог LocalTax1IsUsedDesc=Используйте второй тип налога (кроме первого) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Ставка IRPF (подоходный налог для LocalTax2IsNotUsedDescES=По умолчанию предлагается IRPF 0. Конец правления. LocalTax2IsUsedExampleES=В Испании работают фрилансеры и независимые профессионалы, предлагающие услуги, и компании, которые выбрали налоговую систему модулей. LocalTax2IsNotUsedExampleES=В Испании это предприятия, не подпадающие под налоговую систему модулей. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Отчеты о местных налогах CalcLocaltax1=Продажи-Покупки CalcLocaltax1Desc=Отчёты о местных налогах - это разница между местными налогами с продаж и покупок @@ -1018,6 +1025,7 @@ CalcLocaltax2=Покупки CalcLocaltax2Desc=Отчёты о местных налогах - это итог местных налогов с покупок CalcLocaltax3=Продажи CalcLocaltax3Desc=Отчёты о местных налогах - это итог местных налогов с продаж +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Метки, используемые по умолчанию, если нет перевода можно найти код LabelOnDocuments=Этикетка на документах LabelOrTranslationKey=Метка или ключ перевода @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Отчет о расходах для утве Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Перед началом использования Dolibarr необходимо определить параметры и включить/настроить модули. SetupDescription2=Следующие два раздела являются обязательными (две первые записи в меню настройки): -SetupDescription3=%s -> %s
    Основные параметры, используемые для настройки поведения вашего приложения по умолчанию (например, для функций, связанных со страной). -SetupDescription4=%s -> %s
    Это программное обеспечение представляет собой набор из множества модулей/приложений, все более или менее независимые. Модули, соответствующие вашим потребностям, должны быть включены и настроены. Новые пункты/опции добавляются в меню при активации модуля. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Другие пункты меню настройки управляют дополнительными параметрами. LogEvents=Безопасность ревизии события Audit=Аудит @@ -1128,7 +1136,7 @@ LogEventDesc=Включите ведение журнала для опреде AreaForAdminOnly=Параметры настройки могут быть установлены только пользователем администратора . SystemInfoDesc=Система информации разного техническую информацию Вы получите в режиме только для чтения и видимые только для администраторов. SystemAreaForAdminOnly=Эта область доступна только для администраторов. Пользовательские разрешения Dolibarr не могут изменить это ограничение. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Если у вас есть внешний бухгалтер/бухгалтер, вы можете отредактировать здесь эту информацию. AccountantFileNumber=Код бухгалтера DisplayDesc=Параметры, влияющие на внешний вид и поведение Dolibarr, могут быть изменены здесь. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Правила генерации и проверки DisableForgetPasswordLinkOnLogonPage=Не показывать ссылку «Забыли пароль» на странице входа UsersSetup=Настройка модуля пользователя UserMailRequired=Требуется электронная почта для создания нового пользователя +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Настройка модуля HRM (Отдела кадров) ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Модели счетов-фактур BillsPDFModulesAccordindToInvoiceType=Модели документов счета в соответствии с типом счета PaymentsPDFModules=Модели платежных документов ForceInvoiceDate=Принудительно приравнять дату выставления счета к дате проверки -SuggestedPaymentModesIfNotDefinedInInvoice=Предложенный способ оплаты по умолчанию, если иной не определен в счете +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Предложить оплату выводом средств на счет SuggestPaymentByChequeToAddress=Предложить оплату чеком на FreeLegalTextOnInvoices=Свободный текст на счетах-фактурах @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Настройка платежей поставщику PropalSetup=Настройка модуля Коммерческих предложений ProposalsNumberingModules=Модели нумерации Коммерческих предложений ProposalsPDFModules=Модели документов Коммерческого предложения -SuggestedPaymentModesIfNotDefinedInProposal=Предлагаемый способ оплаты по предложению по умолчанию, если иной не определено предложением +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Свободный текст на Коммерческих предложениях WatermarkOnDraftProposal=Водяные знаки на черновиках Коммерческих предложений ("Нет" если пусто) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Запрос банковского счёта для предложения @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Попросите источник скл ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Запросить адрес банковского счета для заказа на поставку ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Настройка управления заказами на продажу OrdersNumberingModules=Модели нумерации заказов OrdersModelModule=Заказ документов моделей @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index bf31ff2450f..9ea55716414 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=счета-фактуры Поставщиков Payment=Платеж -PaymentBack=Возврат платежа -CustomerInvoicePaymentBack=Возврат платежа +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Платежи PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Возврат платежа DeletePayment=Удалить платеж ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Платежи поставщику ReceivedPayments=Полученные платежи @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Платить ToMakePaymentBack=Возврат платежа ListOfYourUnpaidInvoices=Список неоплаченных счетов NoteListOfYourUnpaidInvoices=Примечание: Этот список содержит счета только тех контрагентов, которые связаны с нами, как представители по сбыту. -RevenueStamp=Штамп о уплате налогов +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Функция возвращает номер в формате %syymm-nnnn для стандартных счетов и %syymm-nnnn для кредитных авизо, где yy год, mm месяц и nnnn является непрерывной последовательностью и не возвращает 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Счёт удалён +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/ru_RU/blockedlog.lang b/htdocs/langs/ru_RU/blockedlog.lang index 25d4540bff2..99bf472eed0 100644 --- a/htdocs/langs/ru_RU/blockedlog.lang +++ b/htdocs/langs/ru_RU/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Показать все архивные логи (может быть долго) ShowAllFingerPrintsErrorsMightBeTooLong=Показать все недействительные архивные логи (может быть долго) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Архивные записи недействительна. Это значит, что кто-то (хакер?) изменил некоторые данные этого после того, как они были записаны, или удалил предыдущую архивную запись (проверьте, что строка с предыдущим # существует). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Архивная запись в журнале действительна. Данные в этой строке не были изменены, и запись следует за предыдущей. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/ru_RU/cashdesk.lang b/htdocs/langs/ru_RU/cashdesk.lang index 6d6a4ce119c..23bb45edead 100644 --- a/htdocs/langs/ru_RU/cashdesk.lang +++ b/htdocs/langs/ru_RU/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Добавить эту статью RestartSelling=Вернитесь на продажу SellFinished=Продажа завершена PrintTicket=Печать билетов +SendTicket=Send ticket NoProductFound=Ни одна статья найдены ProductFound=продукт найден NoArticle=Ни одна статья @@ -48,6 +49,7 @@ Footer=Нижний колонтитул AmountAtEndOfPeriod=Сумма на конец периода (день, месяц или год) TheoricalAmount=Теоретическая сумма RealAmount=Действительная сумма +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Кол-во счетов-фактур Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Подтверждаете ли вы удаление этой продажи? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Браузер BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/ru_RU/companies.lang b/htdocs/langs/ru_RU/companies.lang index 2b688e7cb51..86a3fe13b24 100644 --- a/htdocs/langs/ru_RU/companies.lang +++ b/htdocs/langs/ru_RU/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Компания " %s" удалена из базы данных. ListOfContacts=Список контактов/адресов ListOfContactsAddresses=Список контактов/адресов ListOfThirdParties=Список контрагентов -ShowCompany=Показать контрагента ShowContact=Показать контакт ContactsAllShort=Все (без фильтра) ContactType=Вид контакт @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Имя торгового представителя SaleRepresentativeLastname=Фамилия торгового представителя ErrorThirdpartiesMerge=При удалении третьих сторон произошла ошибка. Проверьте журнал. Изменения были отменены. NewCustomerSupplierCodeProposed=Код Клиента или Поставщика уже используется, предлагается новый код +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Тип оплаты - Клиент PaymentTermsCustomer=Условия оплаты - Клиент diff --git a/htdocs/langs/ru_RU/compta.lang b/htdocs/langs/ru_RU/compta.lang index 1123381eec9..393e05bc995 100644 --- a/htdocs/langs/ru_RU/compta.lang +++ b/htdocs/langs/ru_RU/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded= - Суммы даны с учётом всех налогов -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Короткая метка +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index dae49432ec1..b1594465426 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Файл не получил полностью на серве ErrorNoTmpDir=Временная директория %s не существует. ErrorUploadBlockedByAddon=Добавить заблокирован PHP / Apache плагин. ErrorFileSizeTooLarge=Размер файла слишком велик. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Размер слишком долго для целого типа (%s цифр максимум) ErrorSizeTooLongForVarcharType=Размер слишком долго для струнного типа (%s символов максимум) ErrorNoValueForSelectType=Пожалуйста, заполните значение для выпадающего списка @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index edfd3a9f826..926bf70b7f7 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK= Максимально допустимый размер памяти для сессии установлен в %s. Это должно быть достаточно. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Ваша установка PHP не поддержи ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Каталог %s не существует. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Нажмите здесь, чтобы перейти к вашей заявке ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/ru_RU/link.lang b/htdocs/langs/ru_RU/link.lang index 8e02c8350b7..6ec241979e2 100644 --- a/htdocs/langs/ru_RU/link.lang +++ b/htdocs/langs/ru_RU/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Ссылка на файл %s удалена ErrorFailedToDeleteLink= При удалении ссылки на файл '%s' возникла ошибка ErrorFailedToUpdateLink= При обновлении ссылки на файл '%s' возникла ошибка URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/ru_RU/mails.lang b/htdocs/langs/ru_RU/mails.lang index b059b4ada96..938569bc947 100644 --- a/htdocs/langs/ru_RU/mails.lang +++ b/htdocs/langs/ru_RU/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Информация ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index f325f268aab..a284a80792b 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Проверка подключения ToClone=Дублировать +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Выберите данные для клонирования: NoCloneOptionsSpecified=Данные для дублирования не определены. Of=из @@ -829,6 +830,8 @@ Gender=Пол Genderman=Мужчина Genderwoman=Женщина ViewList=Посмотреть список +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Обязательно Hello=Здравствуйте GoodBye=До свидания @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/ru_RU/other.lang b/htdocs/langs/ru_RU/other.lang index d229559ec81..6e128840716 100644 --- a/htdocs/langs/ru_RU/other.lang +++ b/htdocs/langs/ru_RU/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Название WEBSITE_DESCRIPTION=Описание WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index dc669d9b69d..371b5e9c53f 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Массовое создание штрих-кода MassBarcodeInitDesc=Эта страница может быть использована для создания штрих-кодов для объектов, у которых нет штрих-кода. Проверьте перед выполнением настройки модуля штрих-кодов. ProductAccountancyBuyCode=Учетный код (покупка) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Учетный код (продажа) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Учетный код (экспорт) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Таможенный / Товарный / HS код CountryOrigin=Страна происхождения -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Короткая метка Unit=Единица p=u. diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index c233f1d4a67..70aee875338 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Время ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Запланированная нагрузка PlannedWorkloadShort=Рабочая нагрузка ProjectReferers=Связанные элементы ProjectMustBeValidatedFirst=Проект должен быть сначала подтверждён -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Ввод по дням InputPerWeek=Ввод по неделе InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Новый счёт OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/ru_RU/receiptprinter.lang b/htdocs/langs/ru_RU/receiptprinter.lang index 5fcf8b3f605..db6b24e5bb4 100644 --- a/htdocs/langs/ru_RU/receiptprinter.lang +++ b/htdocs/langs/ru_RU/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Референс Счета-фактуры +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Капитал +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/ru_RU/stripe.lang b/htdocs/langs/ru_RU/stripe.lang index 402a8c57df3..7f3d995c77b 100644 --- a/htdocs/langs/ru_RU/stripe.lang +++ b/htdocs/langs/ru_RU/stripe.lang @@ -32,6 +32,7 @@ VendorName=Имя поставщика CSSUrlForPaymentForm=CSS-стилей URL для оплаты форме NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/ru_RU/users.lang b/htdocs/langs/ru_RU/users.lang index 8fc8b5d136c..888fc7191ae 100644 --- a/htdocs/langs/ru_RU/users.lang +++ b/htdocs/langs/ru_RU/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Пользователи и их свойства DomainUser=Домен пользователя %s Reactivate=Возобновить CreateInternalUserDesc=Эта форма позволяет вам создать внутреннего пользователя в вашей компании. Чтобы создать внешнего пользователя (клиента, поставщика и т.д.), используйте кнопку «Создать пользователя Dolibarr» из карточки контакта этого контрагента. -InternalExternalDesc=Внутренний пользователь - это пользователь, который является частью вашей компании.
    Внешний пользователь - это клиент, продавец или кто-то другой.

    В обоих случаях права доступа определяют права в Dolibarr, также внешний пользователь может иметь менеджер меню, отличный от внутреннего пользователя (см. Главная - Настройка - Внешний вид). +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Разрешение предоставляется, поскольку унаследовал от одного из пользователей в группы. Inherited=Унаследованный UserWillBeInternalUser=Созданный пользователь будет внутреннего пользователя (потому что не связаны с определенным третьим лицам) @@ -110,3 +110,8 @@ UserLogged=Пользователь вошел DateEmployment=Дата начала трудоустройства DateEmploymentEnd=Дата окончания занятости CantDisableYourself=Вы не можете отключить свою собственную запись пользователя +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/ru_RU/website.lang b/htdocs/langs/ru_RU/website.lang index 0b410a27fbd..94d11400665 100644 --- a/htdocs/langs/ru_RU/website.lang +++ b/htdocs/langs/ru_RU/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index b61fb750c2b..84124c3fb7f 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Poznámka: No limit je nastavený v konfigurácii PHP MaxSizeForUploadedFiles=Maximálna veľkosť nahraných súborov (0, aby tak zabránil akejkoľvek odosielanie) UseCaptchaCode=Pomocou grafického kód (CAPTCHA) na prihlasovacej stránke -AntiVirusCommand= Úplná cesta k antivírusovej príkazu -AntiVirusCommandExample= Príklad pre ClamWin: C: \\ PROGRA ~ 1 \\ ClamWin \\ bin \\ clamscan.exe
    Príklad pre ClamAV: / usr / bin / clamscan +AntiVirusCommand=Úplná cesta k antivírusovej príkazu +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Ďalšie parametre príkazového riadka -AntiVirusParamExample= Príklad ClamWin: - databáza = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Účtovné modul nastavenia UserSetup=Správa užívateľov Nastavenie MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funkcia zakázaný v demo FeatureAvailableOnlyOnStable=Táto možnosť je dostupná iba v oficiálnej stabilnej verzií BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Iba prvky z povolených modulov sú uvedené. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Viac modulov na stiahnutie môžete nájst na internete ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Dostupné doplnky BoxesActivated=Aktivované doplnky ActivateOn=Aktivácia na @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Majte prázdny použiť predvolené hodnoty DefaultLink=Východiskový odkaz SetAsDefault=Nastaviť ako predvolené ValueOverwrittenByUserSetup=Pozor, táto hodnota môže byť prepísaná užívateľom špecifické nastavenia (každý užívateľ môže nastaviť vlastné clicktodial url) -ExternalModule=Externý modul - inštalovaný do adresára %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Masové načítanie čiarových kódov alebo reset pre produkty alebo služby CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Okres DictionaryCountry=Štáty DictionaryCurrency=Platobné meny -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Typy udalostí agendy DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Sadzby DPH alebo Sociálnej dane @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Nepoužívajte druhá daň LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=V predvolenom nastavení je navrhovaná IRPF je 0. Koniec vlády. LocalTax2IsUsedExampleES=V Španielsku, na voľnej nohe a nezávislí odborníci, ktorí poskytujú služby a firmy, ktorí sa rozhodli daňového systému modulov. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Vypisy lokálnej dane CalcLocaltax1=Predaj - Platba CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Platby CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Predaje CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label používa v predvolenom nastavení, pokiaľ nie je preklad možno nájsť kód LabelOnDocuments=Štítok na dokumenty LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Udalosti bezpečnostný audit Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Systémové informácie je rôzne technické informácie získate v režime iba pre čítanie a viditeľné len pre správcov. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Užívatelia modul nastavenia UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Fakturačné doklady modely BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force faktúry dátum Dátum overenia -SuggestedPaymentModesIfNotDefinedInInvoice=Navrhované platby režime na faktúre v predvolenom nastavení, ak nie je definovaný pre faktúry +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Voľný text na faktúrach @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Obchodné návrhy modul nastavenia ProposalsNumberingModules=Komerčné návrh číslovanie modely ProposalsPDFModules=Komerčné návrh doklady modely -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Objednávky číslovanie modelov OrdersModelModule=Objednať dokumenty modely @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/sk_SK/bills.lang b/htdocs/langs/sk_SK/bills.lang index 3f27a2822d7..24fb68ab4e1 100644 --- a/htdocs/langs/sk_SK/bills.lang +++ b/htdocs/langs/sk_SK/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=dodávatelia faktúry Payment=Platba -PaymentBack=Platba späť -CustomerInvoicePaymentBack=Platba späť +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Platby PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Platené späť DeletePayment=Odstrániť platby ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Prijaté platby @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Zaplatiť ToMakePaymentBack=Oplatiť ListOfYourUnpaidInvoices=Zoznam nezaplatených faktúr NoteListOfYourUnpaidInvoices=Poznámka: Tento zoznam obsahuje iba faktúry pre tretie strany si sú prepojené ako obchodného zástupcu. -RevenueStamp=Kolek +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Faktúra zmazaná +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/sk_SK/blockedlog.lang b/htdocs/langs/sk_SK/blockedlog.lang index 4aa4b7616f7..bce0ea3bd25 100644 --- a/htdocs/langs/sk_SK/blockedlog.lang +++ b/htdocs/langs/sk_SK/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/sk_SK/cashdesk.lang b/htdocs/langs/sk_SK/cashdesk.lang index 44096e6bc4d..aabc1f6d1ef 100644 --- a/htdocs/langs/sk_SK/cashdesk.lang +++ b/htdocs/langs/sk_SK/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Pridať tento článok RestartSelling=Vráťte sa na predaj SellFinished=Predaj ukončený PrintTicket=Tlač vstupeniek +SendTicket=Send ticket NoProductFound=Žiadny článok nájdených ProductFound=výrobky, ktoré sa NoArticle=Žiadny článok @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb faktúr Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Prehliadač BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/sk_SK/companies.lang b/htdocs/langs/sk_SK/companies.lang index ba91a15b328..01282f4f853 100644 --- a/htdocs/langs/sk_SK/companies.lang +++ b/htdocs/langs/sk_SK/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Spoločnosť "%s" vymazaný z databázy. ListOfContacts=Zoznam kontaktov adries / ListOfContactsAddresses=Zoznam kontaktov adries / ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Zobraziť kontakt ContactsAllShort=Všetko (Bez filtra) ContactType=Kontaktujte typ @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/sk_SK/compta.lang b/htdocs/langs/sk_SK/compta.lang index 859d3e5ae70..49dc4cebc1c 100644 --- a/htdocs/langs/sk_SK/compta.lang +++ b/htdocs/langs/sk_SK/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Uvedené sumy sú so všetkými daňami -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Krátky názov +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index e75d00a8928..2f24a7664d6 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Súbor nedostali úplne servera. ErrorNoTmpDir=Dočasné direct %s neexistuje. ErrorUploadBlockedByAddon=Pridať zablokovaný PHP / Apache pluginu. ErrorFileSizeTooLarge=Súbor je príliš veľký. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Veľkosť príliš dlhá pre typ int (%s číslice maximum) ErrorSizeTooLongForVarcharType=Veľkosť príliš dlho typu string (%s znakov maximum) ErrorNoValueForSelectType=Vyplňte, prosím, hodnotu zoznamu vyberte @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index acefbcaba3c..d635526db59 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Maximálna pamäť pre relácie v PHP je nastavená na %s. To by malo stačiť. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Vaše nainštalované PHP nepodporuje Curl ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Adresár %s neexistuje. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/sk_SK/link.lang b/htdocs/langs/sk_SK/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/sk_SK/link.lang +++ b/htdocs/langs/sk_SK/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/sk_SK/mails.lang b/htdocs/langs/sk_SK/mails.lang index 2235e30da51..fc8cb12b03f 100644 --- a/htdocs/langs/sk_SK/mails.lang +++ b/htdocs/langs/sk_SK/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informácie ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index 2cf453311ea..f288b52c783 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Skúšobné pripojenie ToClone=Klon +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Žiadne údaje nie sú k klonovať definovaný. Of=z @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=Zobrazenie zoznamu +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Ahoj GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/sk_SK/other.lang b/htdocs/langs/sk_SK/other.lang index ad1fb336b1f..af9a401705e 100644 --- a/htdocs/langs/sk_SK/other.lang +++ b/htdocs/langs/sk_SK/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Názov WEBSITE_DESCRIPTION=Popis WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index ec2e1a7a291..503c6d5da77 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Hromadné načítanie čiarového kódu MassBarcodeInitDesc=Tu môžete načítať čiarový kód pre produkt kde nie je definovaný. Skontroluje pred načítaním modulu čiarového kódu ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Krajina pôvodu -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Krátky názov Unit=Jednotka p=u. diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index 6151c06cbb8..6563c5fe07c 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Čas ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Plánované zaťaženie PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nová faktúra OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/sk_SK/receiptprinter.lang b/htdocs/langs/sk_SK/receiptprinter.lang index 4b6b0f8b42c..bb556776a93 100644 --- a/htdocs/langs/sk_SK/receiptprinter.lang +++ b/htdocs/langs/sk_SK/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Fiktívna tlačiareň CONNECTOR_NETWORK_PRINT=Sieťová tlačiareň CONNECTOR_FILE_PRINT=Lokálna tlačiareň CONNECTOR_WINDOWS_PRINT=Lokálna Windows tlačiareň +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Testovacia tlačiareň, nič nerobí CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Základný profil PROFILE_SIMPLE=Jednoduchý profil PROFILE_EPOSTEP=Epos Tep Profil @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Faktúra ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapitál +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/sk_SK/stripe.lang b/htdocs/langs/sk_SK/stripe.lang index b8fc19af2e8..dca68cf8cda 100644 --- a/htdocs/langs/sk_SK/stripe.lang +++ b/htdocs/langs/sk_SK/stripe.lang @@ -32,6 +32,7 @@ VendorName=Názov dodávateľa CSSUrlForPaymentForm=CSS štýlov url platobného formulára NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/sk_SK/users.lang b/htdocs/langs/sk_SK/users.lang index 866513bc538..a5c18482b77 100644 --- a/htdocs/langs/sk_SK/users.lang +++ b/htdocs/langs/sk_SK/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Užívateľ domény %s Reactivate=Reaktivácia CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Povolenie udelené, pretože dedia z jednej zo skupiny užívateľov. Inherited=Zdedený UserWillBeInternalUser=Vytvorený užívateľ bude interný užívateľ (pretože nie je spojený s určitou treťou stranou) @@ -110,3 +110,8 @@ UserLogged=Užívateľ prihlásený DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/sk_SK/website.lang b/htdocs/langs/sk_SK/website.lang index 6881e75021b..c1ecdc37147 100644 --- a/htdocs/langs/sk_SK/website.lang +++ b/htdocs/langs/sk_SK/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Zobraziť stránku na novej karte SetAsHomePage=Nastaviť ako domovskú stránku RealURL=Skutočná URL ViewWebsiteInProduction=Zobraziť web stránku použitím domovskej URL -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index 23ec165b087..5ce59884f3d 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Opomba: V vaši PHP konfiguraciji ni nastavljenih omejitev MaxSizeForUploadedFiles=Največja velikost prenesene datoteke (0 za prepoved vseh prenosov) UseCaptchaCode=Na prijavni strani uporabi grafično kodo (CAPTCHA) -AntiVirusCommand= Celotna pot za antivirusno ukazno vrstico -AntiVirusCommandExample= Primer za ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
    Primer za ClamAv: /usr/bin/clamscan +AntiVirusCommand=Celotna pot za antivirusno ukazno vrstico +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Več parametrov v ukazni vrstici -AntiVirusParamExample= Primer za ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Nastavitve računovodskega modula UserSetup=Nastavitve upravljanja uporabnikov MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funkcija onemogočena v demo različici FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Prikazani so samo elementi omogočenih modulov . -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=Glejte nastavitev modula %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Aktiviran na @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Pusti prazno za uporabo privzete vrednosti DefaultLink=Privzeta povezava SetAsDefault=Set as default ValueOverwrittenByUserSetup=Pozor, ta vrednost bo morda prepisana s specifično nastavitvijo uporabnika (vsak uporabnik lahko nastavi lastno povezavo za klic s klikom) -ExternalModule=Zunanji modul - nameščen v mapo %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Vzpostavitev ali resetiranje masovne črtne kode za proizvode in storitve CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regije DictionaryCountry=Države DictionaryCurrency=Valute -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=Stopnje DDV ali davkov @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Stopnja LocalTax1IsNotUsed=Ne uporabi drugega davka LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Privzeto predlagani IRPF je 0. Konec pravila. LocalTax2IsUsedExampleES=V Španiji, samostojnimi in neodvisni strokovnjaki, ki opravljajo storitve in podjetja, ki so se odločili davčni sistem modulov. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Poročila o lokalnih davkih CalcLocaltax1=Prodaja - Nabava CalcLocaltax1Desc=Poročila o lokalnih davkih so izračunana kot razlika med nabavnimi in prodajnimi davki @@ -1018,6 +1025,7 @@ CalcLocaltax2=Nabava CalcLocaltax2Desc=Poročila o lokalnih davkih so seštevek nabavnih davkov CalcLocaltax3=Prodaja CalcLocaltax3Desc=Poročila o lokalnih davkih so seštevek prodajnih davkov +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Privzet naziv, če za kodo ne obstaja prevod LabelOnDocuments=Naslov na dokumentu LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Dogodki v zvezi z nadzorovanjem varnosti Audit=Nadzor @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=Sistemske informacije so raznovrstne tehnične informacije, ki so na voljo samo v bralnem načinu in jih vidi samo administrator. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Nastavitve modula uporabnikov UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Modeli obrazcev računov BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Vsili datum računa kot datum potrditve -SuggestedPaymentModesIfNotDefinedInInvoice=Privzet predlagan način plačila na računu, če ni definiran drugačen način +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Poljubno besedilo na računu @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Nastavitve modula za komercialne ponudbe ProposalsNumberingModules=Moduli za številčenje komercialnih ponudb ProposalsPDFModules=Modeli obrazcev komercialnih ponudb -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Moduli za številčenje naročil OrdersModelModule=Modeli obrazcev naročil @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/sl_SI/bills.lang b/htdocs/langs/sl_SI/bills.lang index 2f982841f8b..31b4151c077 100644 --- a/htdocs/langs/sl_SI/bills.lang +++ b/htdocs/langs/sl_SI/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=Računi dobaviteljev Payment=Plačilo -PaymentBack=Vrnitev plačila -CustomerInvoicePaymentBack=Vrnitev plačila +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Plačila PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Vrnjeno plačilo DeletePayment=Brisanje plačila ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Prejeta plačila @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Plačati ToMakePaymentBack=Vrniti plačilo ListOfYourUnpaidInvoices=Seznam neplačanih računov NoteListOfYourUnpaidInvoices=Opomba: Ta seznam vsebuje samo račune za partnerje, ki so povezani z referentom. -RevenueStamp=Žig prihodka +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Predlaga številko v formatu %syymm-nnnn za standardne račune in %syymm-nnnn za dobropise kjer je yy leto, mm mesec in nnnn zaporedna številka brez presledkov in večja od 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/sl_SI/blockedlog.lang b/htdocs/langs/sl_SI/blockedlog.lang index 45943d31b76..84dc7eb9c06 100644 --- a/htdocs/langs/sl_SI/blockedlog.lang +++ b/htdocs/langs/sl_SI/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/sl_SI/cashdesk.lang b/htdocs/langs/sl_SI/cashdesk.lang index c837cdf5f5d..8238cbd78d0 100644 --- a/htdocs/langs/sl_SI/cashdesk.lang +++ b/htdocs/langs/sl_SI/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Dodaj ta proizvod RestartSelling=Vrni se na prodajo SellFinished=Sale complete PrintTicket=Natisni račun +SendTicket=Send ticket NoProductFound=Proizvod ne obstaja ProductFound=Najden proizvod NoArticle=Ni proizvoda @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Število računov Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Iskalnik BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/sl_SI/companies.lang b/htdocs/langs/sl_SI/companies.lang index 4ae82256d89..912b2494f8e 100644 --- a/htdocs/langs/sl_SI/companies.lang +++ b/htdocs/langs/sl_SI/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Podjetje "%s" izbrisano iz baze. ListOfContacts=Seznam kontaktov ListOfContactsAddresses=Seznam kontaktov ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Pokaži kontakt ContactsAllShort=Vsi (brez filtra) ContactType=Vrsta kontakta @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/sl_SI/compta.lang b/htdocs/langs/sl_SI/compta.lang index f10f0569bd5..4af0e6f6512 100644 --- a/htdocs/langs/sl_SI/compta.lang +++ b/htdocs/langs/sl_SI/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Prikazane vrednosti vključujejo vse davke -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Kratek naziv +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index 276aa6fc50e..58c06bd93f3 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=V strežnik ni bila prenešena celotna datoteka. ErrorNoTmpDir=Začasna mapa %s ne obstaja. ErrorUploadBlockedByAddon=PHP/Apache vtičnik je blokiral nalaganje. ErrorFileSizeTooLarge=Datoteka je prevelika. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Velikost predolgo int tip (%s številke največ) ErrorSizeTooLongForVarcharType=Velikost predolgo za tip za nize (%s znakov največ) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index 32184850fbb..6c3e9d43d0d 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Maksimalni spomin za sejo vašega PHP je nastavljen na %s. To bi moralo zadoščati. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Mapa %s ne obstaja. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/sl_SI/link.lang b/htdocs/langs/sl_SI/link.lang index 3a10359abad..0e71c159759 100644 --- a/htdocs/langs/sl_SI/link.lang +++ b/htdocs/langs/sl_SI/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Povezava %s je bila odstranjena ErrorFailedToDeleteLink= Napaka pri odstranitvi povezave '%s'. ErrorFailedToUpdateLink= Napaka pri posodobitvi povezave '%s'. URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/sl_SI/mails.lang b/htdocs/langs/sl_SI/mails.lang index ba9d3b65e69..aa37bd15448 100644 --- a/htdocs/langs/sl_SI/mails.lang +++ b/htdocs/langs/sl_SI/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informacija ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/sl_SI/main.lang b/htdocs/langs/sl_SI/main.lang index a8d2be54027..1f758fda89b 100644 --- a/htdocs/langs/sl_SI/main.lang +++ b/htdocs/langs/sl_SI/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test povezave ToClone=Kloniraj +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Ni definiranih podatkov za kloniranje. Of=od @@ -829,6 +830,8 @@ Gender=Spol Genderman=Moški Genderwoman=Ženska ViewList=Glej seznam +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obvezno Hello=Pozdravljeni GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/sl_SI/other.lang b/htdocs/langs/sl_SI/other.lang index 6c6f44e83e2..96dee868c4e 100644 --- a/htdocs/langs/sl_SI/other.lang +++ b/htdocs/langs/sl_SI/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Naziv WEBSITE_DESCRIPTION=Opis WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/sl_SI/products.lang b/htdocs/langs/sl_SI/products.lang index 1f35bae2caf..876f92df779 100644 --- a/htdocs/langs/sl_SI/products.lang +++ b/htdocs/langs/sl_SI/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Vzpostavitev masovne črtne kode MassBarcodeInitDesc=Na tej strani lahko vzpostavite črtno kodo za objekte, ki črtne kode nimajo določene. Pred tem preverite, da je zaključena nastavitev modula za črtne kode. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Država porekla -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Kratek naziv Unit=Enota p=e. diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index 2234b08a74c..415d234eec8 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Čas ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planirana delovna obremenitev PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Projekt mora biti najprej potrjen -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Nov račun OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/sl_SI/receiptprinter.lang b/htdocs/langs/sl_SI/receiptprinter.lang index 0f6086b22fb..406600eff5d 100644 --- a/htdocs/langs/sl_SI/receiptprinter.lang +++ b/htdocs/langs/sl_SI/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Referenca računa +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/sl_SI/stripe.lang b/htdocs/langs/sl_SI/stripe.lang index 3793e15c016..71e190cf1fa 100644 --- a/htdocs/langs/sl_SI/stripe.lang +++ b/htdocs/langs/sl_SI/stripe.lang @@ -32,6 +32,7 @@ VendorName=Ime prodajalca CSSUrlForPaymentForm=url CSS vzorca obrazca plačila NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/sl_SI/users.lang b/htdocs/langs/sl_SI/users.lang index e9c0d301d11..2851c76fc90 100644 --- a/htdocs/langs/sl_SI/users.lang +++ b/htdocs/langs/sl_SI/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Uporabnik domene %s Reactivate=Ponovno aktiviraj CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Dovoljenje dodeljeno zaradi podedovanja od druge uporabniške skupine. Inherited=Podedovan UserWillBeInternalUser=Kreiran uporabnik bo interni uporabnik (ker ni povezan z določenim partnerjem) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/sl_SI/website.lang b/htdocs/langs/sl_SI/website.lang index 4fda52e2721..f5f8502d7e8 100644 --- a/htdocs/langs/sl_SI/website.lang +++ b/htdocs/langs/sl_SI/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index e83fede6fe0..73bb36b8597 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Bli / Shkarko @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/sq_AL/bills.lang b/htdocs/langs/sq_AL/bills.lang index ab5c2a41c39..c76900fe8a7 100644 --- a/htdocs/langs/sq_AL/bills.lang +++ b/htdocs/langs/sq_AL/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Pay ToMakePaymentBack=Pay back ListOfYourUnpaidInvoices=Lista e faturave të papaguara NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Revenue stamp +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/sq_AL/blockedlog.lang b/htdocs/langs/sq_AL/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/sq_AL/blockedlog.lang +++ b/htdocs/langs/sq_AL/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/sq_AL/cashdesk.lang b/htdocs/langs/sq_AL/cashdesk.lang index 24afe7ea7ad..71618eff28b 100644 --- a/htdocs/langs/sq_AL/cashdesk.lang +++ b/htdocs/langs/sq_AL/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/sq_AL/companies.lang b/htdocs/langs/sq_AL/companies.lang index 2aac2fc23b4..514473dbd97 100644 --- a/htdocs/langs/sq_AL/companies.lang +++ b/htdocs/langs/sq_AL/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/sq_AL/compta.lang b/htdocs/langs/sq_AL/compta.lang index 7bea59962f2..6d530dd3923 100644 --- a/htdocs/langs/sq_AL/compta.lang +++ b/htdocs/langs/sq_AL/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index ca3ac621bd7..686f2884cca 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/sq_AL/link.lang b/htdocs/langs/sq_AL/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/sq_AL/link.lang +++ b/htdocs/langs/sq_AL/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/sq_AL/mails.lang b/htdocs/langs/sq_AL/mails.lang index 5edad1a7673..7d0a2626fb9 100644 --- a/htdocs/langs/sq_AL/mails.lang +++ b/htdocs/langs/sq_AL/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/sq_AL/main.lang b/htdocs/langs/sq_AL/main.lang index 824703a6761..998a733182b 100644 --- a/htdocs/langs/sq_AL/main.lang +++ b/htdocs/langs/sq_AL/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gjinia Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/sq_AL/other.lang b/htdocs/langs/sq_AL/other.lang index 78d91f32b94..ea794014393 100644 --- a/htdocs/langs/sq_AL/other.lang +++ b/htdocs/langs/sq_AL/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Përshkrimi WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/sq_AL/products.lang b/htdocs/langs/sq_AL/products.lang index 6f49421dacc..f3aea3ae0f5 100644 --- a/htdocs/langs/sq_AL/products.lang +++ b/htdocs/langs/sq_AL/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/sq_AL/projects.lang b/htdocs/langs/sq_AL/projects.lang index e51bf91ad44..c7a65cff25d 100644 --- a/htdocs/langs/sq_AL/projects.lang +++ b/htdocs/langs/sq_AL/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/sq_AL/receiptprinter.lang b/htdocs/langs/sq_AL/receiptprinter.lang index c615b6619d6..0e7cb8a8d7a 100644 --- a/htdocs/langs/sq_AL/receiptprinter.lang +++ b/htdocs/langs/sq_AL/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Printer rrjeti CONNECTOR_FILE_PRINT=Printer lokal CONNECTOR_WINDOWS_PRINT=Printer lokal Windows +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Pritner falso pёr test, s'bёn asgjё CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/sq_AL/stripe.lang b/htdocs/langs/sq_AL/stripe.lang index 74d3e35e22c..a40c8e67339 100644 --- a/htdocs/langs/sq_AL/stripe.lang +++ b/htdocs/langs/sq_AL/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/sq_AL/users.lang b/htdocs/langs/sq_AL/users.lang index 84bc13176ae..de230588802 100644 --- a/htdocs/langs/sq_AL/users.lang +++ b/htdocs/langs/sq_AL/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/sq_AL/website.lang b/htdocs/langs/sq_AL/website.lang index 9e5c4ba3ff8..c802b2d2ae8 100644 --- a/htdocs/langs/sq_AL/website.lang +++ b/htdocs/langs/sq_AL/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/sr_RS/admin.lang b/htdocs/langs/sr_RS/admin.lang index 6f1b3c1b0c3..658acef8a25 100644 --- a/htdocs/langs/sr_RS/admin.lang +++ b/htdocs/langs/sr_RS/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=Vidi podešavanja modula %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Podešavanja HRM modula ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Pitaj za izvorni magacin za narudžbinu ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/sr_RS/bills.lang b/htdocs/langs/sr_RS/bills.lang index c2348e4b581..8da848053e3 100644 --- a/htdocs/langs/sr_RS/bills.lang +++ b/htdocs/langs/sr_RS/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=računi dobavljača Payment=Plaćanje -PaymentBack=Refundiranje -CustomerInvoicePaymentBack=Refundiranje +PaymentBack=Povraćaj +CustomerInvoicePaymentBack=Povraćaj Payments=Plaćanja PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Refundirano DeletePayment=Obriši plaćanje ConfirmDeletePayment=Da li ste sigurni da želite da obrišete ovu uplatu? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Primljene uplate @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/sr_RS/cashdesk.lang b/htdocs/langs/sr_RS/cashdesk.lang index 33f7cac33cb..120721fcf9b 100644 --- a/htdocs/langs/sr_RS/cashdesk.lang +++ b/htdocs/langs/sr_RS/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Dodaj ovaj artikal RestartSelling=Vrati se nazad na prodaju SellFinished=Prodaja završena PrintTicket=Štampaj kartu +SendTicket=Send ticket NoProductFound=Artikal nije pronađen ProductFound=proizvod pronađen NoArticle=Nema artikla @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/sr_RS/companies.lang b/htdocs/langs/sr_RS/companies.lang index b3dc0d176c8..d210f745fe3 100644 --- a/htdocs/langs/sr_RS/companies.lang +++ b/htdocs/langs/sr_RS/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Kompanija "%s" je obrisana iz baze. ListOfContacts=Lista kontakta/adresa ListOfContactsAddresses=Lista kontakta/adresa ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Prikaži kontakt ContactsAllShort=Sve (Bez filtera) ContactType=Tip kontakta @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/sr_RS/compta.lang b/htdocs/langs/sr_RS/compta.lang index 6c862fdd0cc..6e3b7c3777d 100644 --- a/htdocs/langs/sr_RS/compta.lang +++ b/htdocs/langs/sr_RS/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Prikazani su bruto iznosi -RulesResultDue=- Sadrži sve račune, troškove, PDV, donacije, bez obzira da li su uplaćene ili ne. Takođe sadrži isplaćene zarade
    - Zasniva se na datumu potvrde računa i PDV-a i na zadatom datumu troškova. Za zarade definisane u modulu Zarade se koristi vrednosni datum isplate. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Sadrži realne uplate računa, troškova, PDV-a i zarada.
    - Zasniva se na datumima isplate računa, troškova, PDV-a i zarada. Za donacije se zasniva na datumu donacije. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Kratak naziv +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/sr_RS/errors.lang b/htdocs/langs/sr_RS/errors.lang index 0a117fcfffc..9d7c709b7d6 100644 --- a/htdocs/langs/sr_RS/errors.lang +++ b/htdocs/langs/sr_RS/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Fajl nije u celosti primljen na server. ErrorNoTmpDir=Privremeni folder %s ne postoji. ErrorUploadBlockedByAddon=Upload blokiran PHP/Apache pluginom. ErrorFileSizeTooLarge=Fajl je preveliki. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Predugačka vrednost za int tip (%s cifara maksimum) ErrorSizeTooLongForVarcharType=Predugačka vrednost za string tip (%s karaktera maksimum) ErrorNoValueForSelectType=Molimo izaberite vrednost u select listi @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=Lozinka je podešena za ovog člana, ali korisnik nije kreiran. To znači da je lozinka sačuvana, ali se član ne može ulogovati na Dolibarr. Informaciju može koristiti neka eksterna komponenta, ali ako nemate potrebe da definišete korisnika/lozinku za članove, možete deaktivirati opciju "Upravljanje lozinkama za svakog člana" u podešavanjima modula Članovi. Ukoliko morate da kreirate login, ali Vam nije potrebna lozinka, ostavite ovo polje prazno da se ovo upozorenje ne bi prikazivalo. Napomena: email može biti korišćen kao login ako je član povezan sa korisnikom. diff --git a/htdocs/langs/sr_RS/install.lang b/htdocs/langs/sr_RS/install.lang index b5dc57a6069..62075489dad 100644 --- a/htdocs/langs/sr_RS/install.lang +++ b/htdocs/langs/sr_RS/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Maksimalna memorija za sesije je %s. To bi trebalo biti dovoljno. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Folder %s ne postoji. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/sr_RS/link.lang b/htdocs/langs/sr_RS/link.lang index 81f23a8b366..36e3aaf6aea 100644 --- a/htdocs/langs/sr_RS/link.lang +++ b/htdocs/langs/sr_RS/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Link %s je uklonjen ErrorFailedToDeleteLink= Greška prilikom uklanjanja linka '%s' ErrorFailedToUpdateLink= Greška prilikom ažuriranja linka '%s' URLToLink=URL za link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/sr_RS/mails.lang b/htdocs/langs/sr_RS/mails.lang index f218481df16..e5c1eb91c6a 100644 --- a/htdocs/langs/sr_RS/mails.lang +++ b/htdocs/langs/sr_RS/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Informacija ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/sr_RS/main.lang b/htdocs/langs/sr_RS/main.lang index 3c34cb00fe6..5d825d7454e 100644 --- a/htdocs/langs/sr_RS/main.lang +++ b/htdocs/langs/sr_RS/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Testiraj konekciju ToClone=Kloniraj +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=Podaci za dupliranje nisu definisani: Of=od @@ -829,6 +830,8 @@ Gender=Pol Genderman=Muško Genderwoman=Žensko ViewList=Prikaz liste +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obavezno Hello=Zdravo GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/sr_RS/other.lang b/htdocs/langs/sr_RS/other.lang index 30bd32cca66..e5f9f4c63ed 100644 --- a/htdocs/langs/sr_RS/other.lang +++ b/htdocs/langs/sr_RS/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL stranice WEBSITE_TITLE=Naslov WEBSITE_DESCRIPTION=Opis WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Ključne reči LinesToImport=Lines to import diff --git a/htdocs/langs/sr_RS/products.lang b/htdocs/langs/sr_RS/products.lang index 8db9e1111a7..c48e11cd93e 100644 --- a/htdocs/langs/sr_RS/products.lang +++ b/htdocs/langs/sr_RS/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Masivna inicijalizacija bar code-a. MassBarcodeInitDesc=Na ovoj strani možete inicijalizovati bar kod za objekte koji još uvek nemaju definisan kod. Prethodno proverite da li je završeno podešavanje modula bar kod. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Zemlja porekla -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Kratak naziv Unit=Jedinica p=j. diff --git a/htdocs/langs/sr_RS/projects.lang b/htdocs/langs/sr_RS/projects.lang index ce609997c1e..3717041a79c 100644 --- a/htdocs/langs/sr_RS/projects.lang +++ b/htdocs/langs/sr_RS/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Vreme ListOfTasks=Lista zadataka GoToListOfTimeConsumed=Idi na listu utrošenog vremena -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planirano utrošeno vreme PlannedWorkloadShort=Utrošeno vreme ProjectReferers=Related items ProjectMustBeValidatedFirst=Projekat prvo mora biti odobren -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Ulaz po danu InputPerWeek=Ulaz po nedelji InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Novi račun OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/sr_RS/users.lang b/htdocs/langs/sr_RS/users.lang index 122c5389901..29da9e8dd7e 100644 --- a/htdocs/langs/sr_RS/users.lang +++ b/htdocs/langs/sr_RS/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Korisnik domena %s Reactivate=Reaktiviraj CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Prava su dodeljena jer su nasleđena od jedne od korisnikovih grupa. Inherited=Nasleđeno UserWillBeInternalUser=Kreirani korisnik će biti interni korisnik (jer nije vezan za određeni subjekat) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index 18b2269d80c..c8505262020 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Obs! din konfiguration för PHP begränsar för NoMaxSizeByPHPLimit=Obs: Ingen gräns som anges i din PHP konfiguration MaxSizeForUploadedFiles=Maximala storleken för uppladdade filer (0 att förkasta varje uppladdning) UseCaptchaCode=Använd grafisk kod (CAPTCHA) på inloggningssidan -AntiVirusCommand= Fullständiga sökvägen till antivirus kommandot -AntiVirusCommandExample= Exempel för ClamWin: C: \\ Program Files (x86) \\ ClamWin \\ bin \\ clamscan.exe
    Exempel för clamav: / usr / bin / clamscan +AntiVirusCommand=Fullständiga sökvägen till antivirus kommandot +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Fler parametrar på kommandoraden -AntiVirusParamExample= Exempel för ClamWin - databas = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Redovisning modul inställning UserSetup=Användarens hantering inställning MultiCurrencySetup=Multi-valuta inställning @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Funktion avstängd i demo FeatureAvailableOnlyOnStable=Funktionen är endast tillgänglig på officiella stabila versioner BoxesDesc=Widgets är komponenter som visar lite information som du kan lägga till för att anpassa vissa sidor. Du kan välja mellan att visa widgeten eller inte, genom att välja målsida och klicka på "Aktivera", eller genom att klicka på papperskorgen för att inaktivera den. OnlyActiveElementsAreShown=Endast delar av aktiverade moduler visas. -ModulesDesc=Modulerna / programmen bestämmer vilka funktioner som finns i programvaran. Vissa moduler kräver att behörigheter beviljas användare efter aktivering av modulen. Klicka på på / av-knappen (vid slutet av modullinjen) för att aktivera / inaktivera en modul / applikation. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Du kan hitta fler moduler att ladda ner på externa webbplatser på Internet ... ModulesDeployDesc=Om behörigheter i ditt filsystem tillåter det kan du använda det här verktyget för att distribuera en extern modul. Modulen kommer då att visas på fliken %s . ModulesMarketPlaces=Hitta externa app / moduler @@ -212,6 +212,7 @@ CompatibleUpTo=Kompatibel med version %s NotCompatible=Den här modulen verkar inte vara kompatibel med din Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Den här modulen kräver en uppdatering av din Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på marknaden +SeeSetupOfModule=See setup of module %s Updated=Uppdaterad Nouveauté=Nyhet AchatTelechargement=Köp / Hämta @@ -221,6 +222,7 @@ DoliPartnersDesc=Lista över företag som tillhandahåller anpassade moduler ell WebSiteDesc=Externa webbplatser för fler moduler utan tillägg... DevelopYourModuleDesc=Några lösningar för att utveckla din egen modul ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets tillgängliga BoxesActivated=Widgets aktiverade ActivateOn=Aktivera på @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Lämna tom för standardvärde DefaultLink=Standardlänk SetAsDefault=Ange som standard ValueOverwrittenByUserSetup=Varning, kan detta värde skrivas över av användarspecifik installation (varje användare kan ställa in sin egen clicktodial url) -ExternalModule=Extern modul - Installerad i katalogen %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass streckkod init för tredje part BarcodeInitForProductsOrServices=Mass streckkod init eller återställning efter produkter eller tjänster CurrentlyNWithoutBarCode=För närvarande har du %s rader på %s %s utan steckkod angett. @@ -947,7 +950,7 @@ DictionaryCanton=Stater / Provinser DictionaryRegion=Regioner DictionaryCountry=Länder DictionaryCurrency=Valutor -DictionaryCivility=Behörighetens namn +DictionaryCivility=Honorific titles DictionaryActions=Typer av agendahändelser DictionarySocialContributions=Typer av sociala eller skattemässiga skatter DictionaryVAT=Moms Priser och Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Den föreslagna försäljningsskatten är som standard 0 som ka VATIsUsedExampleFR=I Frankrike betyder det att företag eller organisationer har ett riktigt finanssystem (förenklad verklig eller normal verklig). Ett system där momsen deklareras. VATIsNotUsedExampleFR=I Frankrike betyder det föreningar som inte är Försäljningsskatt deklarerade eller företag, organisationer eller liberala yrken som har valt mikroföretagets skattesystem (Försäljningsskatt i franchise) och betalat en franchise Försäkringsskatt utan någon momsdeklaration. Detta val kommer att visa referensen "Ej tillämplig Försäljningsskatt - art-293B av CGI" på fakturor. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Betyg LocalTax1IsNotUsed=Använd inte andra skatte LocalTax1IsUsedDesc=Använd en andra typ av skatt (annan än den första) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=IRPF-räntan som standard när du skapar prospekt, fakturo LocalTax2IsNotUsedDescES=Som standard föreslås IRPF är 0. Slut på regeln. LocalTax2IsUsedExampleES=I Spanien, frilansare och oberoende yrkesutövare som tillhandahåller tjänster och företag som har valt skattesystemet i moduler. LocalTax2IsNotUsedExampleES=I Spanien är de företag som inte omfattas av skattesystem för moduler. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Rapporter om lokala skatter CalcLocaltax1=Försäljning - Inköp CalcLocaltax1Desc=Lokala skatter rapporter beräknas med skillnaden mellan localtaxes försäljning och localtaxes inköp @@ -1018,6 +1025,7 @@ CalcLocaltax2=Inköp CalcLocaltax2Desc=Lokala skatter rapporter är summan av localtaxes inköp CalcLocaltax3=Försäljning CalcLocaltax3Desc=Lokala skatter rapporter är summan av localtaxes försäljning +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Etikett som används som standard om ingen översättning kan hittas för kod LabelOnDocuments=Etikett på dokument LabelOrTranslationKey=Etikett eller översättningstangent @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Utläggsrapport att godkänna Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Innan du börjar använda Dolibarr måste vissa initialparametrar definieras och moduler aktiveras / konfigureras. SetupDescription2=Följande två avsnitt är obligatoriska (de två första inmatningarna i inställningsmenyn): -SetupDescription3=  %s -> %s
    Grundläggande parametrar som används för att anpassa standardbeteendet för din applikation (t.ex. för landrelaterade funktioner). -SetupDescription4=  %s -> %s
    Denna programvara är en serie med många moduler / applikationer, allt mer eller mindre oberoende. Modulerna som är relevanta för dina behov måste aktiveras och konfigureras. Nya objekt / alternativ läggs till i menyer med aktivering av en modul. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Andra inställningsmenyposter hanterar valfria parametrar. LogEvents=Säkerhetsgranskning evenemang Audit=Revision @@ -1128,7 +1136,7 @@ LogEventDesc=Aktivera loggning för specifika säkerhetshändelser. Administrat AreaForAdminOnly=Inställningsparametrar kan ställas in av endast administratörs användare . SystemInfoDesc=System information diverse teknisk information får du i skrivskyddad läge och synlig för administratörer bara. SystemAreaForAdminOnly=Det här området är endast tillgängligt för administratörsanvändare. Dolibarr användarbehörigheter kan inte ändra denna begränsning. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parametrar som påverkar utseende och beteende hos Dolibarr kan ändras här. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Regler för att generera och bekräfta lösenord DisableForgetPasswordLinkOnLogonPage=Visa inte länken "Glömt lösenord" på sidan Inloggning UsersSetup=Användare modul inställning UserMailRequired=E-post krävs för att skapa en ny användare +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Inställning av HRM-modulen ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Faktura dokument modeller BillsPDFModulesAccordindToInvoiceType=Faktura dokumentmodeller enligt fakturatyp PaymentsPDFModules=Betalningsdokumentmodeller ForceInvoiceDate=Force fakturadatum till giltighetsdatum -SuggestedPaymentModesIfNotDefinedInInvoice=Föreslagna betalningar läge på faktura som standard om inte definierat för faktura +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Föreslå betalning genom uttag på konto SuggestPaymentByChequeToAddress=Föreslå betalning med check till FreeLegalTextOnInvoices=Fri text på fakturor @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Inställningar för leverantörsbetalningar PropalSetup=Kommersiella förslag modul inställning ProposalsNumberingModules=Kommersiella förslag numrering moduler ProposalsPDFModules=Kommersiella förslag dokument modeller -SuggestedPaymentModesIfNotDefinedInProposal=Förslag till betalningsläge på förslag som standard om det inte är definierat för förslag +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal 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 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Be om lagerkälla för order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Be om kontokortdestination för inköpsorder ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Försäljningsorderhanteringsinställningar OrdersNumberingModules=Beställningar numrering moduler OrdersModelModule=Beställ dokument modeller @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Varning, högre värden sänker dramati ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Exportmodeller delas med alla ExportSetup=Inställning av modul Export +ImportSetup=Setup of module Import InstanceUniqueID=Unikt ID för förekomsten SmallerThan=Mindre än LargerThan=Större än @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index d802fcefff9..a2e64a6b307 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Leverantörer fakturor SupplierBill=Leverantörsfaktura SupplierBills=leverantörer fakturor Payment=Betalning -PaymentBack=Betalning tillbaka -CustomerInvoicePaymentBack=Betalning tillbaka +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Betalningar PaymentsBack=Refunds paymentInInvoiceCurrency=i faktura valuta PaidBack=Återbetald DeletePayment=Radera betalning ConfirmDeletePayment=Är du säker på att du vill radera denna betalning? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Leverantörsbetalningar ReceivedPayments=Mottagna betalningar @@ -219,7 +219,10 @@ ShowInvoiceSituation=Visa lägesfaktura UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Betala ToMakePaymentBack=Återbetala ListOfYourUnpaidInvoices=Lista över obetalda fakturor NoteListOfYourUnpaidInvoices=OBS: Denna lista innehåller bara fakturor för tredje parti som du är kopplade till som en försäljning representant. -RevenueStamp=Intäkt stämpel +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Det här alternativet är endast tillgängligt när du skapar en faktura från fliken "Kund" från tredje part YouMustCreateInvoiceFromSupplierThird=Det här alternativet är endast tillgängligt när du skapar en faktura från fliken "Leverantör" till tredje part YouMustCreateStandardInvoiceFirstDesc=Du måste först skapa en standardfaktura och konvertera den till "mall" för att skapa en ny mallfaktura -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Faktura PDF mall Svamp. En komplett fakturamall PDFCrevetteDescription=Faktura PDF-mall Crevette. En komplett faktura mall för lägesfakturor TerreNumRefModelDesc1=Återger nummer med formatet %syymm-nnnn för standardfakturor och %syymm-NNNN för kreditnotor där yy är året, mm månaden och nnnn är en sekvens med ingen paus och ingen återgång till 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Ange slutdatum för servicelinje med nästa fakturadatum AutoFillDateToShort=Ange slutdatum MaxNumberOfGenerationReached=Max antal gen. nådde BILL_DELETEInDolibarr=Faktura deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/sv_SE/blockedlog.lang b/htdocs/langs/sv_SE/blockedlog.lang index 192f1020baa..480f38a923d 100644 --- a/htdocs/langs/sv_SE/blockedlog.lang +++ b/htdocs/langs/sv_SE/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Oföränderliga loggar ShowAllFingerPrintsMightBeTooLong=Visa alla arkiverade loggar (kan vara långa) ShowAllFingerPrintsErrorsMightBeTooLong=Visa alla icke-giltiga arkivloggar (kan vara långa) DownloadBlockChain=Ladda ner fingeravtryck -KoCheckFingerprintValidity=Arkiverad loggpost är inte giltig. Det betyder att någon (en hackare?) Har ändrat vissa data av det här reet efter det har spelats in eller har raderat den tidigare arkiverade posten (kontrollera den raden med tidigare # existerar). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Arkiverad loggpost är giltig. Uppgifterna på den här raden ändrades inte och posten följer den föregående. OkCheckFingerprintValidityButChainIsKo=Arkiverad logg verkar giltig jämfört med tidigare men kedjan förstördes tidigare. AddedByAuthority=Lagras i fjärrmyndighet diff --git a/htdocs/langs/sv_SE/cashdesk.lang b/htdocs/langs/sv_SE/cashdesk.lang index 37ff85fd139..9db8feed413 100644 --- a/htdocs/langs/sv_SE/cashdesk.lang +++ b/htdocs/langs/sv_SE/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Lägg till den här artikeln RestartSelling=Gå tillbaka på sälj SellFinished=Försäljning avslutad PrintTicket=Skriv ut biljetten +SendTicket=Send ticket NoProductFound=Ingen artikel hittades ProductFound=Produkt hittad NoArticle=Ingen artikel @@ -48,6 +49,7 @@ Footer=sidfot AmountAtEndOfPeriod=Belopp vid periodens utgång (dag, månad eller år) TheoricalAmount=Teoretisk mängd RealAmount=Verklig mängd +CashFence=Cash fence CashFenceDone=Kassaskydd gjord för perioden NbOfInvoices=Antal av fakturor Paymentnumpad=Typ av kudde för att komma in i betalningen @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS behöver produktkategorier för att fungera OrderNotes=Beställ anteckningar CashDeskBankAccountFor=Standardkonto som ska användas för betalningar i NoPaimementModesDefined=Inget paimentläge definierat i TakePOS-konfiguration -TicketVatGrouped=Grupp moms enligt sats i biljetter -AutoPrintTickets=Skriv ut biljetter automatiskt +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Aktivera funktioner för bar eller restaurang ConfirmDeletionOfThisPOSSale=Bekräftar du att du har raderat den aktuella försäljningen? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Webbläsare BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/sv_SE/companies.lang b/htdocs/langs/sv_SE/companies.lang index 1061325c921..28d99141d05 100644 --- a/htdocs/langs/sv_SE/companies.lang +++ b/htdocs/langs/sv_SE/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Företaget "%s" raderad från databasen. ListOfContacts=Lista med kontakter / adresser ListOfContactsAddresses=Lista med kontakter / adresser ListOfThirdParties=Förteckning över tredjeparter -ShowCompany=Visa tredjepart ShowContact=Visa kontakt ContactsAllShort=Alla (inget filter) ContactType=Kontakttyp @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Förnamn på försäljningsrepresentant SaleRepresentativeLastname=Efternamn för försäljare ErrorThirdpartiesMerge=Ett fel uppstod vid borttagning av tredjepart. Kontrollera loggen. Ändringar har återställts. NewCustomerSupplierCodeProposed=Kunder eller leverantörskod som redan används, föreslås en ny kod +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Betalningstyp - Kund PaymentTermsCustomer=Betalningsvillkor - Kund diff --git a/htdocs/langs/sv_SE/compta.lang b/htdocs/langs/sv_SE/compta.lang index 18229edd1cf..defa9852e23 100644 --- a/htdocs/langs/sv_SE/compta.lang +++ b/htdocs/langs/sv_SE/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Se %sanalys av payments%s för en beräkning av fakti SeeReportInDueDebtMode=Se %sanalys av fakturor%s för en beräkning baserad på kända inspelade fakturor, även om de ännu inte är redovisade i huvudboken. SeeReportInBookkeepingMode=Se %sBokföringsrapport%s för en beräkning på Bokföring huvudboken tabell RulesAmountWithTaxIncluded=- Belopp som visas är med alla skatter inkluderade -RulesResultDue=- Det inkluderar utestående fakturor, utgifter, moms, donationer om de betalas eller inte. Ingår även betalda löner.
    - Det baseras på datum för bekräftande för fakturor och moms och på förfallodagen för utgifter. För löner som definieras med lönemodul används värdet för betalningen. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Det inkluderar de reala betalningarna på fakturor, utgifter, moms och löner.
    - Det baseras på fakturadatum för fakturor, utgifter, moms och löner. Donationsdatum för donation. -RulesCADue=- Det inkluderar kundens fakturaer om de betalas eller inte.
    - Det baseras på bekräftandesdatumet för dessa fakturor.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Det inkluderar alla effektiva betalningar av fakturor som mottagits från kunder.
    - Det är baserat på betalningsdatum för dessa fakturor
    RulesCATotalSaleJournal=Den innehåller alla kreditlinjer från försäljningsloggboken. RulesAmountOnInOutBookkeepingRecord=Det innehåller post i din huvudboken med bokföringskonto som har gruppen "EXPENSE" eller "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Omsättning fakturerad med försäljningsskattesats TurnoverCollectedbyVatrate=Omsättning upptagen med försäljningsskattesats PurchasebyVatrate=Inköp med försäljningsskattesats LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index 86bfc3d9a3d..b96d1461a0e 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Handlingar den mottagit inte helt av server. ErrorNoTmpDir=Tillfälliga directy %s inte existerar. ErrorUploadBlockedByAddon=Ladda upp blockeras av en PHP / Apache plugin. ErrorFileSizeTooLarge=Filen är för stor. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Storlek för lång för int typ (%s siffror max) ErrorSizeTooLongForVarcharType=Storlek för lång för sträng typ (%s tecken max) ErrorNoValueForSelectType=Vänligen fyll i värde för utvald lista @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=Ett lösenord har ställts för den här medlemmen. Men inget användarkonto skapades. Så det här lösenordet är lagrat men kan inte användas för att logga in till Dolibarr. Den kan användas av en extern modul / gränssnitt men om du inte behöver definiera någon inloggning eller ett lösenord för en medlem kan du inaktivera alternativet "Hantera en inloggning för varje medlem" från inställningen av medlemsmodulen. Om du behöver hantera en inloggning men inte behöver något lösenord, kan du hålla fältet tomt för att undvika denna varning. Obs! Email kan också användas som inloggning om medlemmen är länkad till en användare. diff --git a/htdocs/langs/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index 491874ee286..cdce0b03cda 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Detta PHP stöder Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=Detta PHP stöder UTF8 funktioner. PHPSupportIntl=Detta PHP stöder Intl-funktioner. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Din PHP max session minne är inställt på %s. Detta bör vara nog. PHPMemoryTooLow=Ditt PHP max-sessionminne är inställt på %s bytes. Detta är för lågt. Ändra din php.ini för att ställa in memory_limit parameter till minst %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Din PHP-installation stöder inte Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Din PHP-installation stöder inte UTF8-funktioner. Dolibarr kan inte fungera korrekt. Lös det här innan du installerar Dolibarr. ErrorPHPDoesNotSupportIntl=Din PHP-installation stöder inte Intl-funktioner. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Nummer %s finns inte. ErrorGoBackAndCorrectParameters=Gå tillbaka och kontrollera / korrigera parametrarna. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Applikationen försökte självuppgradera, men in YouTryInstallDisabledByFileLock=Applikationen försökte självuppgradera, men installations- / uppgraderingssidorna har inaktiverats för säkerhet (genom att det finns en låsfil install.lock i katalogen dolibarr documents).
    ClickHereToGoToApp=Klicka här för att gå till din ansökan ClickOnLinkOrRemoveManualy=Klicka på följande länk. Om du alltid ser samma sida måste du ta bort / byta namn på filen install.lock i dokumentkatalogen. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/sv_SE/link.lang b/htdocs/langs/sv_SE/link.lang index 2abbb488f14..123ec53d089 100644 --- a/htdocs/langs/sv_SE/link.lang +++ b/htdocs/langs/sv_SE/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Länken %s har tagits bort ErrorFailedToDeleteLink= Det gick inte att ta bort länk '%s' ErrorFailedToUpdateLink= Det gick inte att uppdatera länken '%s' URLToLink=URL för länk +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/sv_SE/mails.lang b/htdocs/langs/sv_SE/mails.lang index b9b24d111c8..0ba4ba088f7 100644 --- a/htdocs/langs/sv_SE/mails.lang +++ b/htdocs/langs/sv_SE/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Ingen kontakt / adress med en kategori hittad NoContactLinkedToThirdpartieWithCategoryFound=Ingen kontakt / adress med en kategori hittad OutGoingEmailSetup=Utgående e-postinstallation InGoingEmailSetup=Inkommande e-postinstallation -OutGoingEmailSetupForEmailing=Utgående e-postuppsättning (för massmailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Standard utgående e-postinstallation Information=Information ContactsWithThirdpartyFilter=Kontakter med filter från tredje part diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index 0e50639d12d..96783492da5 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Testa anslutning ToClone=Klon +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Välj data du vill klona: NoCloneOptionsSpecified=Inga uppgifter att klona definierade. Of=av @@ -829,6 +830,8 @@ Gender=Kön Genderman=Man Genderwoman=Kvinna ViewList=Visa lista +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Obligatorisk Hello=Hallå GoodBye=Adjö @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/sv_SE/other.lang b/htdocs/langs/sv_SE/other.lang index 9eeffcccdb4..f26e71b3a70 100644 --- a/htdocs/langs/sv_SE/other.lang +++ b/htdocs/langs/sv_SE/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Försäljningsorder bekräftat Notify_ORDER_SENTBYMAIL=Försäljningsorder skickad via post Notify_ORDER_SUPPLIER_SENTBYMAIL=Beställningsorder skickad via e-post @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Webbadressen WEBSITE_TITLE=Titel WEBSITE_DESCRIPTION=Beskrivning WEBSITE_IMAGE=Bild -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Nyckelord LinesToImport=Rader att importera diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index b6d4440a3e5..8e916fcbdf3 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Detta verktyg uppdaterar mervärdesskattesatsen som def MassBarcodeInit=Massvis streckkodinitiering MassBarcodeInitDesc=Denna sida kan användas för att initialisera en streckkod på objekt som inte har någon streckkod definierad. Kontrollera först att streckkodsmodulen har fullständiga inställningar. ProductAccountancyBuyCode=Redovisningskod (köp) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Redovisningskod (försäljning) ProductAccountancySellIntraCode=Redovisningskod (försäljning inom gemenskapen) ProductAccountancySellExportCode=Redovisningskod (försäljningsexport) @@ -165,7 +167,7 @@ SuppliersPrices=Leverantörspriser SuppliersPricesOfProductsOrServices=Leverantörspriser (av produkter eller tjänster) CustomCode=Tull / Varu / HS-kod CountryOrigin=Ursprungsland -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Kort etikett Unit=Enhet p=u. diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index 1b943aef3cc..094019b2be1 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Tid ListOfTasks=Lista över uppgifter GoToListOfTimeConsumed=Gå till listan över tidskrävt -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=Förteckning över de kommersiella förslagen relaterade till projektet ListOrdersAssociatedProject=Förteckning över försäljningsorder relaterade till projektet @@ -188,7 +186,7 @@ PlannedWorkload=Planerad arbetsbelastning PlannedWorkloadShort=Arbetsbelastning ProjectReferers=Relaterade saker ProjectMustBeValidatedFirst=Projekt måste bekräftas först -FirstAddRessourceToAllocateTime=Tilldela en användarresurs till uppgift för att allokera tid +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Ingång per dag InputPerWeek=Ingång per vecka InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Senaste %s modifierade projekten OtherFilteredTasks=Andra filtrerade uppgifter NoAssignedTasks=Inga tilldelade uppgifter hittades (tilldela projekt / uppgifter till den nuvarande användaren från den övre väljrutan för att ange tid på det) ThirdPartyRequiredToGenerateInvoice=En tredje part måste definieras på projekt för att kunna fakturera det. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Tillåt användar kommentarer på uppgifter AllowCommentOnProject=Tillåt användar kommentarer på projekt @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Ny faktura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/sv_SE/receiptprinter.lang b/htdocs/langs/sv_SE/receiptprinter.lang index 50c2ff73257..b4e931e94a2 100644 --- a/htdocs/langs/sv_SE/receiptprinter.lang +++ b/htdocs/langs/sv_SE/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy-skrivare CONNECTOR_NETWORK_PRINT=Nätverksskrivare CONNECTOR_FILE_PRINT=Lokal skrivare CONNECTOR_WINDOWS_PRINT=Lokal Windows-skrivare +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer för test, gör ingenting CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 CONNECTOR_FILE_PRINT_HELP=/ dev / usb / lp0, / dev / usb / lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: hemligt @ datornamn / arbetsgrupp / mottagningsskrivare +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Standardprofil PROFILE_SIMPLE=Enkel profil PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Faktura ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Kapital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/sv_SE/stripe.lang b/htdocs/langs/sv_SE/stripe.lang index 7d7cd49c57f..e4e1a522be6 100644 --- a/htdocs/langs/sv_SE/stripe.lang +++ b/htdocs/langs/sv_SE/stripe.lang @@ -32,6 +32,7 @@ VendorName=Namn på leverantör CSSUrlForPaymentForm=CSS-formatmall URL för inbetalningskort NewStripePaymentReceived=Ny Stripbetalning mottagen NewStripePaymentFailed=Ny Stripbetalning försökte men misslyckades +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Hemlig testnyckel STRIPE_TEST_PUBLISHABLE_KEY=Publicerbar testnyckel STRIPE_TEST_WEBHOOK_KEY=Webhook testnyckel @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/sv_SE/users.lang b/htdocs/langs/sv_SE/users.lang index 7c65184e1da..36c4c77529d 100644 --- a/htdocs/langs/sv_SE/users.lang +++ b/htdocs/langs/sv_SE/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Användare och deras egenskaper DomainUser=Domän användare %s Reactivate=Återaktivera CreateInternalUserDesc=I det här formuläret kan du skapa en intern användare i ditt företag / organisation. För att skapa en extern användare (kund, leverantör etc.), använd knappen "Create Dolibarr User" från den tredje partens kontaktkort. -InternalExternalDesc=En intern användare är en användare som ingår i ditt företag / organisation.
    En extern användare är en kund, leverantör eller annan.

    I båda fallen definierar behörigheter rättigheter på Dolibarr, även extern användare kan ha en annan menyhanterare än intern användare (Se Hem - Inställning - Display) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Tillstånd beviljas, eftersom ärvt från en av en användares grupp. Inherited=Ärvda UserWillBeInternalUser=Skapad användare kommer att vara en intern användare (eftersom inte kopplade till en viss tredje part) @@ -109,4 +109,9 @@ UserLogoff=Användarutloggning UserLogged=Användare loggad DateEmployment=Anställningens startdatum DateEmploymentEnd=Anställningens slutdatum -CantDisableYourself=You can't disable your own user record +CantDisableYourself=Du kan inte inaktivera din egen användarrekord +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/sv_SE/website.lang b/htdocs/langs/sv_SE/website.lang index 9f7c08790bb..20a211e774d 100644 --- a/htdocs/langs/sv_SE/website.lang +++ b/htdocs/langs/sv_SE/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Visa sida i ny flik SetAsHomePage=Sätt som hemsida RealURL=Verklig URL ViewWebsiteInProduction=Visa webbplats med hjälp av hemadresser -SetHereVirtualHost= Använd med Apache / NGinx / ...
    Om du kan skapa, på din webbserver (Apache, Nginx, ...), en dedikerad Virtual Host med PHP aktiverad och en Root-katalog på
    %s
    sedan ställa in namnet på den virtuella värd som du har skapat i egenskaperna hos webbplatsen, så förhandsgranskningen kan också göras med hjälp av den här dedicerade webbserveråtkomsten i stället för den interna Dolibarr-servern. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=  Använd med PHP-inbäddad server
    På utvecklingsmiljö kan du föredra att testa webbplatsen med PHP-inbäddad webbserver (PHP 5.5 krävs) genom att köra
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Kontrollera också att virtuell värd har tillstånd %s på filer i
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Aktivera webbsidokontotabellen WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Aktivera tabellen för att lagra webbplatskonton (inloggning / överföring) för varje webbplats / tredje part YouMustDefineTheHomePage=Du måste först definiera standard startsida -OnlyEditionOfSourceForGrabbedContentFuture=Varning: Skapa en webbsida genom att importera en extern webbsida är reserverad för erfarna användare. Beroende på källsidans komplexitet kan resultatet av importen skilja sig från originalet. Även om källsidan använder vanliga CSS-format eller motstridigt javascript kan det bryta utseendet eller funktionerna på webbplatsredigeraren när du arbetar på den här sidan. Den här metoden är ett snabbare sätt att skapa en sida men det rekommenderas att du skapar din nya sida från början eller från en föreslagen sidmall.
    Observera att redigeringar av HTML-källan kommer att vara möjliga när sidinnehållet har initierats genom att ta tag i det från en extern sida ("Online" -redigeraren kommer INTE att vara tillgänglig) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Endast upplagan av HTML-källan är möjlig när innehållet greppades från en extern webbplats GrabImagesInto=Ta även bilder som finns i css och sidan. ImagesShouldBeSavedInto=Bilder ska sparas i katalogen @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/sw_SW/admin.lang b/htdocs/langs/sw_SW/admin.lang index 2f36c876c1a..0205f246b0c 100644 --- a/htdocs/langs/sw_SW/admin.lang +++ b/htdocs/langs/sw_SW/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/sw_SW/bills.lang b/htdocs/langs/sw_SW/bills.lang index 6d7c61784f7..8c22ce0159a 100644 --- a/htdocs/langs/sw_SW/bills.lang +++ b/htdocs/langs/sw_SW/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/sw_SW/cashdesk.lang b/htdocs/langs/sw_SW/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/sw_SW/cashdesk.lang +++ b/htdocs/langs/sw_SW/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/sw_SW/companies.lang b/htdocs/langs/sw_SW/companies.lang index c569a48c84a..f8b3d0354e2 100644 --- a/htdocs/langs/sw_SW/companies.lang +++ b/htdocs/langs/sw_SW/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/sw_SW/compta.lang b/htdocs/langs/sw_SW/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/sw_SW/compta.lang +++ b/htdocs/langs/sw_SW/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/sw_SW/errors.lang b/htdocs/langs/sw_SW/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/sw_SW/errors.lang +++ b/htdocs/langs/sw_SW/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/sw_SW/install.lang b/htdocs/langs/sw_SW/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/sw_SW/install.lang +++ b/htdocs/langs/sw_SW/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/sw_SW/link.lang b/htdocs/langs/sw_SW/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/sw_SW/link.lang +++ b/htdocs/langs/sw_SW/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/sw_SW/mails.lang b/htdocs/langs/sw_SW/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/sw_SW/mails.lang +++ b/htdocs/langs/sw_SW/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/sw_SW/main.lang b/htdocs/langs/sw_SW/main.lang index 686f3ac1849..2082506c405 100644 --- a/htdocs/langs/sw_SW/main.lang +++ b/htdocs/langs/sw_SW/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/sw_SW/other.lang b/htdocs/langs/sw_SW/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/sw_SW/other.lang +++ b/htdocs/langs/sw_SW/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/sw_SW/products.lang b/htdocs/langs/sw_SW/products.lang index d8a3192551f..a31243a07b6 100644 --- a/htdocs/langs/sw_SW/products.lang +++ b/htdocs/langs/sw_SW/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/sw_SW/projects.lang b/htdocs/langs/sw_SW/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/sw_SW/projects.lang +++ b/htdocs/langs/sw_SW/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/sw_SW/users.lang b/htdocs/langs/sw_SW/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/sw_SW/users.lang +++ b/htdocs/langs/sw_SW/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index a5ff9a413ac..773bab926c6 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=หมายเหตุ: ไม่ จำกัด มีการตั้งค่าในการกำหนดค่าของ PHP MaxSizeForUploadedFiles=ขนาดสูงสุดของไฟล์ที่อัปโหลด (0 ไม่อนุญาตให้อัปโหลดใด ๆ ) UseCaptchaCode=ใช้รหัสแบบกราฟิก (CAPTCHA) บนหน้าเข้าสู่ระบบ -AntiVirusCommand= เส้นทางแบบเต็มคำสั่งป้องกันไวรัส -AntiVirusCommandExample= ตัวอย่าง ClamWin: c: \\ Progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe
    ตัวอย่าง ClamAV: / usr / bin / clamscan +AntiVirusCommand=เส้นทางแบบเต็มคำสั่งป้องกันไวรัส +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= พารามิเตอร์เพิ่มเติมเกี่ยวกับบรรทัดคำสั่ง -AntiVirusParamExample= ตัวอย่าง ClamWin: --database = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=บัญชีการติดตั้งโมดูล UserSetup=การตั้งค่าการจัดการผู้ใช้ MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=ปิดใช้งานคุณลักษณะใ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=องค์ประกอบเฉพาะจาก โมดูลที่เปิดใช้งาน จะแสดง -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=ดูการตั้งค่าของโมดูล% s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=เปิดใช้งานบน @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=ให้ว่างเพื่อใช้ค่าเ DefaultLink=เริ่มต้นการเชื่อมโยง SetAsDefault=Set as default ValueOverwrittenByUserSetup=คำเตือนค่านี้อาจถูกเขียนทับโดยการตั้งค่าของผู้ใช้เฉพาะ (ผู้ใช้แต่ละคนสามารถตั้งค่า URL clicktodial ของตัวเอง) -ExternalModule=โมดูลภายนอก - ติดตั้งลงในไดเรกทอรี% s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=init บาร์โค้ดมวลหรือตั้งค่าสำหรับผลิตภัณฑ์หรือบริการ CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=ภูมิภาค DictionaryCountry=ประเทศ DictionaryCurrency=สกุลเงิน -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=ภาษีมูลค่าเพิ่มราคาหรืออัตราภาษีการขาย @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=ประเมิน LocalTax1IsNotUsed=อย่าใช้ภาษีที่สอง LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=โดยค่าเริ่มต้น IRPF เสนอคือ 0 สิ้นสุดของการปกครอง LocalTax2IsUsedExampleES=ในสเปนมือปืนรับจ้างและอาชีพอิสระที่ให้บริการและ บริษัท ที่ได้รับเลือกให้ระบบภาษีของโมดูล LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=รายงานเกี่ยวกับภาษีท้องถิ่น CalcLocaltax1=ขาย - ซื้อ CalcLocaltax1Desc=รายงานภาษีท้องถิ่นที่มีการคำนวณมีความแตกต่างระหว่างการขายและการซื้อ localtaxes localtaxes @@ -1018,6 +1025,7 @@ CalcLocaltax2=การสั่งซื้อสินค้า CalcLocaltax2Desc=รายงานภาษีท้องถิ่นรวมของการซื้อ localtaxes CalcLocaltax3=ขาย CalcLocaltax3Desc=รายงานภาษีท้องถิ่นรวมของยอดขาย localtaxes +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=ฉลากใช้โดยเริ่มต้นถ้าแปลไม่สามารถพบได้สำหรับรหัส LabelOnDocuments=ป้ายเกี่ยวกับเอกสาร LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=ตรวจสอบเหตุการณ์การรักษาความปลอดภัย Audit=การตรวจสอบบัญชี @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=ข้อมูลระบบข้อมูลทางด้านเทคนิคอื่น ๆ ที่คุณได้รับในโหมดอ่านอย่างเดียวและมองเห็นสำหรับผู้ดูแลระบบเท่านั้น SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=ผู้ใช้ติดตั้งโมดูล UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=รูปแบบเอกสารใบแจ้งหนี BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=วันที่ใบแจ้งหนี้กองทัพวันที่ตรวจสอบ -SuggestedPaymentModesIfNotDefinedInInvoice=โหมดการชำระเงินในใบแจ้งหนี้ที่แนะนำโดยค่าเริ่มต้นหากไม่ได้กำหนดไว้สำหรับใบแจ้งหนี้ +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=ข้อความฟรีในใบแจ้งหนี้ @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=ข้อเสนอเชิงพาณิชย์การติดตั้งโมดูล ProposalsNumberingModules=จำนวนข้อเสนอในเชิงพาณิชย์รุ่น ProposalsPDFModules=เอกสารข้อเสนอในเชิงพาณิชย์รุ่น -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=ข้อความฟรีเกี่ยวกับข้อเสนอในเชิงพาณิชย์ WatermarkOnDraftProposal=ลายน้ำในร่างข้อเสนอในเชิงพาณิชย์ (ไม่มีถ้าว่างเปล่า) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=ขอปลายทางบัญชีธนาคารของข้อเสนอ @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=สั่งซื้อจำนวนรุ่น OrdersModelModule=เอกสารการสั่งซื้อรุ่น @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/th_TH/bills.lang b/htdocs/langs/th_TH/bills.lang index 61606afb95b..c78795bd6d4 100644 --- a/htdocs/langs/th_TH/bills.lang +++ b/htdocs/langs/th_TH/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=ซัพพลายเออร์ใบแจ้งหนี้ Payment=การชำระเงิน -PaymentBack=การชำระเงินกลับ -CustomerInvoicePaymentBack=การชำระเงินกลับ +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=วิธีการชำระเงิน PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=จ่ายคืน DeletePayment=ลบการชำระเงิน ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=การชำระเงินที่ได้รับ @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=จ่ายเงิน ToMakePaymentBack=คืนทุน ListOfYourUnpaidInvoices=รายการของใบแจ้งหนี้ที่ค้างชำระ NoteListOfYourUnpaidInvoices=หมายเหตุ: รายการนี​​้จะมีใบแจ้งหนี้เฉพาะบุคคลที่สามคุณจะเชื่อมโยงกับการเป็นตัวแทนขาย -RevenueStamp=อากรแสตมป์ +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=จำนวนกลับมาพร้อมกับรูปแบบ% syymm-nnnn สำหรับใบแจ้งหนี้และมาตรฐาน% syymm-nnnn สำหรับการบันทึกเครดิตที่ yy เป็นปีเป็นเดือนมิลลิเมตรและ nnnn เป็นลำดับที่มีการหยุดพักและกลับไปที่ 0 ไม่มี @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/th_TH/blockedlog.lang b/htdocs/langs/th_TH/blockedlog.lang index b7e41472b88..88511cd5fbd 100644 --- a/htdocs/langs/th_TH/blockedlog.lang +++ b/htdocs/langs/th_TH/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/th_TH/cashdesk.lang b/htdocs/langs/th_TH/cashdesk.lang index e128eaefc3a..37114cb5d8f 100644 --- a/htdocs/langs/th_TH/cashdesk.lang +++ b/htdocs/langs/th_TH/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=เพิ่มบทความนี้ RestartSelling=กลับไปขาย SellFinished=Sale complete PrintTicket=ตั๋วพิมพ์ +SendTicket=Send ticket NoProductFound=บทความไม่พบ ProductFound=สินค้าที่พบ NoArticle=บทความไม่มี @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=nb ของใบแจ้งหนี้ Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=เบราว์เซอร์ BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/th_TH/companies.lang b/htdocs/langs/th_TH/companies.lang index 7bfd0bcff28..3cb75476145 100644 --- a/htdocs/langs/th_TH/companies.lang +++ b/htdocs/langs/th_TH/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=บริษัท "% s" ลบออกจากฐานข้ ListOfContacts=รายชื่อผู้ติดต่อ / ที่อยู่ ListOfContactsAddresses=รายชื่อผู้ติดต่อ / ที่อยู่ ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=แสดงรายชื่อผู้ติดต่อ ContactsAllShort=ทั้งหมด (ไม่กรอง) ContactType=ประเภทติดต่อ @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/th_TH/compta.lang b/htdocs/langs/th_TH/compta.lang index 5d8340365f7..9b30b80baca 100644 --- a/htdocs/langs/th_TH/compta.lang +++ b/htdocs/langs/th_TH/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- จํานวนเงินที่แสดงเป็นกับภาษีรวมทั้งหมด -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=ป้ายสั้น +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index fa3e3db00dd..a300df92288 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=ไฟล์ไม่ได้รับอย่างสมบ ErrorNoTmpDir=ชั่วคราวโดยตรงได้% s ไม่ได้มีอยู่ ErrorUploadBlockedByAddon=อัพโหลดบล็อกโดย PHP / ปลั๊กอินอาปาเช่ ErrorFileSizeTooLarge=ขนาดไฟล์มีขนาดใหญ่เกินไป +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=ขนาดยาวเกินไปสำหรับประเภท int (s% ตัวเลขสูงสุด) ErrorSizeTooLongForVarcharType=ขนาดยาวเกินไปสำหรับประเภทสตริง (% s ตัวอักษรสูงสุด) ErrorNoValueForSelectType=กรุณากรอกค่าส​​ำหรับรายการเลือก @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index 91b703ed8fa..cd4c2c1f6cb 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=หน่วยความจำสูงสุด PHP เซสชั่นของคุณตั้ง% s นี้ควรจะเพียงพอ PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=สารบบ% s ไม่ได้อยู่ ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/th_TH/link.lang b/htdocs/langs/th_TH/link.lang index 1d7f7021311..7a1e16ba362 100644 --- a/htdocs/langs/th_TH/link.lang +++ b/htdocs/langs/th_TH/link.lang @@ -8,3 +8,4 @@ LinkRemoved=การเชื่อมโยง% s ได้ถูกลบอ ErrorFailedToDeleteLink= ล้มเหลวในการลบการเชื่อมโยง '% s' ErrorFailedToUpdateLink= ล้มเหลวในการปรับปรุงการเชื่อมโยง '% s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/th_TH/mails.lang b/htdocs/langs/th_TH/mails.lang index 74c88d35808..e880ef23289 100644 --- a/htdocs/langs/th_TH/mails.lang +++ b/htdocs/langs/th_TH/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=ข้อมูล ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index b1b92cb459a..9951363424e 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=ทดสอบการเชื่อมต่อ ToClone=โคลน +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=ไม่มีข้อมูลที่จะโคลนที่กำหนดไว้ Of=ของ @@ -829,6 +830,8 @@ Gender=Gender Genderman=คน Genderwoman=หญิง ViewList=มุมมองรายการ +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=สวัสดี GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/th_TH/other.lang b/htdocs/langs/th_TH/other.lang index 2bc5e24fb97..3852fa08125 100644 --- a/htdocs/langs/th_TH/other.lang +++ b/htdocs/langs/th_TH/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=ชื่อเรื่อง WEBSITE_DESCRIPTION=ลักษณะ WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/th_TH/products.lang b/htdocs/langs/th_TH/products.lang index f5768cbb3c5..25d33c1d271 100644 --- a/htdocs/langs/th_TH/products.lang +++ b/htdocs/langs/th_TH/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=init บาร์โค้ดมวล MassBarcodeInitDesc=หน้านี้สามารถนำมาใช้ในการเริ่มต้นบาร์โค้ดบนวัตถุที่ไม่ได้มีการกำหนดบาร์โค้ด ก่อนที่จะตรวจสอบการตั้งค่าของบาร์โค้ดโมดูลที่เสร็จสมบูรณ์ ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=ประเทศแหล่งกำเนิดสินค้า -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=ป้ายสั้น Unit=หน่วย p=ยู diff --git a/htdocs/langs/th_TH/projects.lang b/htdocs/langs/th_TH/projects.lang index c9975018266..58543c6538b 100644 --- a/htdocs/langs/th_TH/projects.lang +++ b/htdocs/langs/th_TH/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=เวลา ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=ภาระงานที่วางแผนไว้ PlannedWorkloadShort=จำนวนงาน ProjectReferers=Related items ProjectMustBeValidatedFirst=โครงการจะต้องผ่านการตรวจสอบครั้งแรก -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=การป้อนข้อมูลต่อวัน InputPerWeek=การป้อนข้อมูลต่อสัปดาห์ InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=ใบแจ้งหนี้ใหม่ OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/th_TH/receiptprinter.lang b/htdocs/langs/th_TH/receiptprinter.lang index 6585fbf8b0e..4c11334a70d 100644 --- a/htdocs/langs/th_TH/receiptprinter.lang +++ b/htdocs/langs/th_TH/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=อ้างอิงใบแจ้งหนี้ +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=เมืองหลวง +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/th_TH/stripe.lang b/htdocs/langs/th_TH/stripe.lang index bd13d3c44da..4da17697604 100644 --- a/htdocs/langs/th_TH/stripe.lang +++ b/htdocs/langs/th_TH/stripe.lang @@ -32,6 +32,7 @@ VendorName=ชื่อของผู้ขาย CSSUrlForPaymentForm=รูปแบบ CSS url ของแผ่นสำหรับรูปแบบการชำระเงิน NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/th_TH/users.lang b/htdocs/langs/th_TH/users.lang index d2daca778b2..8bee6d24478 100644 --- a/htdocs/langs/th_TH/users.lang +++ b/htdocs/langs/th_TH/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=โดเมนของผู้ใช้% s Reactivate=ฟื้นฟู CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=ได้รับอนุญาตเพราะรับมาจากหนึ่งในกลุ่มของผู้ใช้ Inherited=ที่สืบทอด UserWillBeInternalUser=ผู้ใช้ที่สร้างจะเป็นผู้ใช้งานภายใน (เพราะไม่เชื่อมโยงกับบุคคลที่สามโดยเฉพาะ) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/th_TH/website.lang b/htdocs/langs/th_TH/website.lang index b23ac9dce8a..4925729beba 100644 --- a/htdocs/langs/th_TH/website.lang +++ b/htdocs/langs/th_TH/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index ec470f8f06f..4fdacce278c 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -69,8 +69,8 @@ DisableJavascript=Javascript ve Ajax fonksiyonlarını engelle DisableJavascriptNote=Not: Test veya hata ayıklama amaçlıdır. Görme engelli kişiler veya metin tarayıcılara yönelik optimizasyon için kullanıcı profilinde yer alan ayarları kullanmayı tercih edebilirsiniz. UseSearchToSelectCompanyTooltip=Ayrıca çok fazla sayıda üçüncü partiye sahipseniz (>100.000), Ayarlar->Diğer Ayarlar menüsünden COMPANY_DONOTSEARCH_ANYWHERE sabitini 1 olarak ayarlayarak hızı arttırabilirsiniz. Bu durumda, arama dizenin başlangıcıyla sınırlı olacaktır. UseSearchToSelectContactTooltip=Ayrıca çok fazla sayıda üçüncü partiye sahipseniz (>100.000), Ayarlar->Diğer Ayarlar menüsünden CONTACT_DONOTSEARCH_ANYWHERE sabitini 1 olarak ayarlayarak hızı arttırabilirsiniz. Bu durumda, arama dizenin başlangıcıyla sınırlı olacaktır. -DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.
    This may increase performance if you have a large number of third parties, but it is less convenient. -DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient) +DelaiedFullListToSelectCompany=Aşağı açılır listeden Üçüncü Parti içeriği listelemeden önce bir tuşa basarak arama yapmanızı bekler.
    Çok sayıda üçüncü parti mevcutsa bu performansı artırabilir, fakat daha az kullanışlıdır +DelaiedFullListToSelectContact=Aşağı açılır listeden Kişi içeriği listelemeden önce bir tuşa basarak arama yapmanızı bekler.
    Çok sayıda kişi mevcutsa bu performansı artırabilir, fakat daha az kullanışlıdır NumberOfKeyToSearch=Aramayı tetikleyecek karakter sayısı: %s NumberOfBytes=Bayt Sayısı SearchString=Arama dizisi @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Not: Mevcut PHP yapılandırmanız yükleme için NoMaxSizeByPHPLimit=Not: PHP yapılandırmanızda hiç sınır ayarlanmamış MaxSizeForUploadedFiles=Yüklenen dosyalar için maksimum boyut (herhangi bir yüklemeye izin vermemek için 0 olarak ayarlayın) UseCaptchaCode=Oturum açma sayfasında grafiksel kod (CAPTCHA) kullan -AntiVirusCommand= Antivirüs komutu tam yolu -AntiVirusCommandExample= ClamWin için örnek: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    ClamAv için örnek: /usr/bin/clamscan +AntiVirusCommand=Antivirüs komutu tam yolu +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Komut satırında daha çok parametre -AntiVirusParamExample= ClamWin için örnek: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Muhasebe modülü ayarları UserSetup=Kullanıcı yönetimi ayarları MultiCurrencySetup=Çoklu para birimi ayarları @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Özellik demoda devre dışıdır FeatureAvailableOnlyOnStable=Özellik sadece resmi olarak kararlı sürümlerde kullanılabilir BoxesDesc=Ekran etiketleri, bazı sayfaları özelleştirmek için ekleyebileceğiniz çeşitli bilgileri gösteren bileşenlerdir. Hedef sayfayı seçip 'Etkinleştir' seçeneğini tıklayarak ekran etiketini göstermeyi veya çöp kutusuna tıklayarak devre dışı bırakıp göstermemeyi seçebilirsiniz. OnlyActiveElementsAreShown=Yalnızca etkinleştirilmiş modüllerin öğeleri gösterilir. -ModulesDesc=Modüller/Uygulamalar, hangi özelliklerin yazılımda mevcut olduğunu belirler. Bazı modüller, modülü etkinleştirdikten sonra kullanıcılara izin verilmesini gerektirir. Açma/kapama butonuna (modül satırının sonunda yer alır) tıklayarak ilgili modülü etkinleştirebilir veya devre dışı bırakabilirsiniz. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Internette dış web sitelerinde indirmek için daha çok modül bulabilirsiniz... ModulesDeployDesc=Dosya sisteminizdeki izinler imkan veriyorsa harici bir modül kurmak için bu aracı kullanabilirsiniz. Modül daha sonra %s sekmede görünecektir. ModulesMarketPlaces=Dış uygulama/modül bul @@ -212,6 +212,7 @@ CompatibleUpTo=%ssürümü ile uyumlu NotCompatible=Bu modül Dolibarr'ınızla uyumlu görünmüyor %s (Min %s - Maks %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Market place alanına bakın +SeeSetupOfModule=%s modülü kurulumuna bak Updated=Güncellendi Nouveauté=Novelty AchatTelechargement=Satın Al / Yükle @@ -221,6 +222,7 @@ DoliPartnersDesc=Özel olarak geliştirilmiş modüller veya özellikler sağlay WebSiteDesc=Daha fazla eklenti modülleri (ana yazılımda bulunmayan) için harici web siteleri DevelopYourModuleDesc=Kendi modülünüzü geliştirmek için bazı çözümler... URL=URL +RelativeURL=Relative URL BoxesAvailable=Mevcut ekran etiketleri BoxesActivated=Etkin ekran etiketleri ActivateOn=Etkinleştirme açık @@ -270,7 +272,7 @@ Emails=E-postalar EMailsSetup=E-posta kurulumları EMailsDesc=Bu sayfa, e-posta gönderimi için varsayılan PHP parametrelerinizin üzerine yazma imkanı verir. Unix/Linux OS sistemindeki çoğu durumda PHP kurulumu doğrudur ve bu parametreler gereksizdir. EmailSenderProfiles=E-posta gönderici profilleri -EMailsSenderProfileDesc=You can keep this section empty. If you enter some emails here, they will be added to the list of possible senders into the combobox when your write a new email. +EMailsSenderProfileDesc=Bu bölümü boş bırakabilirsiniz. Buraya gireceğiniz e-posta adresleri, yeni bir e-posta adresi yazdığınızda comboboxtaki olası gönderenler listesine eklenecekler. MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Portu (php.ini içinde varsayılan değer: %s) MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Sunucusu (php.ini içinde varsayılan değer: %s) MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Portu (Unix benzeri sistemlerdeki PHP'de tanımlanmamış) @@ -356,7 +358,7 @@ UMask=Unix/Linux/BSD dosya sisteminde yeni dosyalar için Umask parametresi. UMaskExplanation=Bu parametre Dolibarr tarafından sunucuda oluşturulan dosyaların izinlerini varsayılan olarak tanımlamanıza (örneğin yükleme sırasında) izin verir.
    Bu sekizli değer olmalıdır (örneğin, 0666 herkes için okuma ve yazma anlamına gelir).
    Bu parametre Windows sunucusunda kullanılmaz. SeeWikiForAllTeam=Katkıda bulunanlar ve kuruluşlarının bir listesi için Wiki sayfasına göz atın UseACacheDelay= Saniye olarak önbellek aktarması tepki gecikmesi (hiç önbellek yoksa 0 ya da boş) -DisableLinkToHelpCenter=oturum açma sayfasında "Yardım ya da destek gerekli" bağlantısını gizle +DisableLinkToHelpCenter=Oturum açma sayfasında "Yardım ya da destek gerekli" bağlantısını gizle DisableLinkToHelp=Çevrimiçi yardım bağlantısını gizle "%s" AddCRIfTooLong=Otomatik metin kaydırma özelliği olmadığı çok uzun metinlerdeki taşmalar belgeler üzerinde gösterilmeyecektir. Lütfen gerekirse metin alanına satır başı ekleyin. ConfirmPurge=Bu temizleme işlemini çalıştırmak istediğinizden emin misiniz?
    Bu işlem tüm veri dosyalarınızı bir daha geri alınamayacak şekilde kalıcı olarak silecektir (ECM dosyaları, ekli dosyalar…). @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Varsayılan değeri kullanmak için boş bırak DefaultLink=Varsayılan bağlantı SetAsDefault=Varsayılan olarak ayarla ValueOverwrittenByUserSetup=Uyarı, bu değer kullanıcıya özel kurulum ile üzerine yazılabilir (her kullanıcı kendine ait clicktodial url ayarlayabilir) -ExternalModule=Dış modül - %s dizinine kurulmuştur +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Üçüncü partiler için toplu barkod girişi BarcodeInitForProductsOrServices=Ürünler ve hizmetler için toplu barkod başlatma ve sıfırlama CurrentlyNWithoutBarCode=Şu anda, bazı %s kayıtlarınızda %s %s tanımlı barkod bulunmamaktadır. @@ -605,7 +608,7 @@ Module2000Desc=CKEditor (html) kullanarak metin alanlarının düzenlenmesine/bi Module2200Name=Dinamik Fiyatlar Module2200Desc=Otomatik fiyat üretimi için matematiksel ifadeler kullanın Module2300Name=Planlı İşler -Module2300Desc=Scheduled jobs management (alias cron or chrono table) +Module2300Desc=Zamanlanmış iş yönetimi (alias cron veya chrono tablosu) Module2400Name=Etkinlik/Gündem Module2400Desc=Etkinlikleri takip edin. İzleme amacıyla otomatik etkinlikleri günlüğe geçirin veya manuel etkinlikleri ya da toplantıları kaydedin. Bu, iyi bir Müşteri veya Tedarikçi İlişkileri Yönetimi için temel modüldür. Module2500Name=DMS / ECM @@ -947,7 +950,7 @@ DictionaryCanton=İller Listesi DictionaryRegion=Bölgeler DictionaryCountry=Ülkeler DictionaryCurrency=Para birimleri -DictionaryCivility=Mesleki ünvanlar +DictionaryCivility=Honorific titles DictionaryActions=Gündem etkinlik türleri DictionarySocialContributions=Sosyal veya mali vergi türleri DictionaryVAT=KDV Oranları veya Satış Vergisi Oranları @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Dernekler, şahıslar veya küçük şirketler söz konusu oldu VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Oran LocalTax1IsNotUsed=İkinci vergiyi kullanma LocalTax1IsUsedDesc=İkinci bir vergi türü kullanın (birinci dışında) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=Varsayılan olarak önerilen IRPF 0. Kural sonu. LocalTax2IsUsedExampleES=İspanya'da, hizmet işleri yapan serbest meslek sahipleri ve bağımsız uzmanlar ile bu vergi sistemini seçen firmalardır. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Yerel vergi raporları CalcLocaltax1=Satışlar - Alışlar CalcLocaltax1Desc=Yerel Vergi raporları, yerel satış vergileri ile yerel alış vergileri farkı olarak hesaplanır @@ -1018,6 +1025,7 @@ CalcLocaltax2=Alışlar CalcLocaltax2Desc=Yerel Vergi raporları alımların yerel vergileri toplamıdır CalcLocaltax3=Satışlar CalcLocaltax3Desc=Yerel Vergi raporları satışların yerel vergileri toplamıdır +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Hiçbir çeviri kodu bulunmuyorsa varsayılan olarak kullanılan etiket LabelOnDocuments=Belgeler üzerindeki etiket LabelOrTranslationKey=Etiket veya çeviri anahtarı @@ -1067,7 +1075,7 @@ BackgroundImageLogin=Arka plan görüntüsü PermanentLeftSearchForm=Sol menüdeki sabit arama formu DefaultLanguage=Varsayılan dil EnableMultilangInterface=Çoklu dil desteğini etkinleştir -EnableShowLogo=Show the company logo in the menu +EnableShowLogo=Şirket logosunu menüde göster CompanyInfo=Şirket/Kuruluş CompanyIds=Şirket/Kuruluş kimlik bilgileri CompanyName=Adı @@ -1076,11 +1084,11 @@ CompanyZip=Posta Kodu CompanyTown=İlçesi CompanyCountry=Ülkesi CompanyCurrency=Ana para birimi -CompanyObject=Firmaya ait öğe +CompanyObject=Şirketin amacı IDCountry=ID country Logo=Logo LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) -LogoSquarred=Logo (squarred) +LogoSquarred=Logo (kare) LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). DoNotSuggestPaymentMode=Önerme NoActiveBankAccountDefined=Tanımlı etkin banka hesabı yok @@ -1105,11 +1113,11 @@ Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Bekleyen banka mutabakatı Delays_MAIN_DELAY_MEMBERS=Gecikmiş üyelik ücreti Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Yapılmayan çek ödemesi Delays_MAIN_DELAY_EXPENSEREPORTS=Onaylanacak gider raporu -Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve +Delays_MAIN_DELAY_HOLIDAYS=Onaylanacak izin istekleri SetupDescription1=Dolibarr yazılımını kullanmaya başlamadan önce bazı başlangıç parametreleri tanımlanmalı, gerekli modüller etkinleştirilip/yapılandırılmalıdır. SetupDescription2=Aşağıdaki iki bölümün kurulumu zorunludur (Ayarlar menüsündeki ilk iki kayıt) -SetupDescription3=%s -> %s
    Uygulamanızın varsayılan davranışını özelleştirmek için kullanılan temel parametreler (örneğin ülkeyle ilişkili özellikler). -SetupDescription4=%s -> %s
    Bu yazılım, tamamı hemen hemen bağımsız olan birçok modül ve uygulamanın paket halidir. İhtiyaçlarınıza uygun olan modüller etkinleştirilmiş ve yapılandırılmış olmalıdır. Bir modülün etkinleştirilmesi ile yeni öğe ve seçenekler menülere eklenir. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Ayarlar menüsündeki diğer girişler isteğe bağlı parametreleri yönetmenizi sağlar. LogEvents=Güvenlik denetimi etkinlikleri Audit=Denetim @@ -1128,7 +1136,7 @@ LogEventDesc=Belirli güvenlik etkinlikleri için günlüğe kaydetmeyi etkinle AreaForAdminOnly=Kurulum parametreleri sadece yönetici olan kullanıcılar tarafından ayarlanabilir. SystemInfoDesc=Sistem bilgileri sadece okuma modunda ve yöneticiler için görüntülenen çeşitli teknik bilgilerdir. SystemAreaForAdminOnly=Bu alan yalnızca yönetici kullanıcılar tarafından kullanılabilir. Dolibarr kullanıcı izinleri bu kısıtlamayı değiştiremez. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Şirketinizin/kuruluşunuzun bilgilerini düzenleyebilirsiniz. İşiniz bittiğinde sayfanın altındaki "%s" butonuna tıklayarak işleminizi tamamlayın. AccountantDesc=Harici bir muhasebeciniz/saymanınız varsa, onun bilgilerini burada düzenleyebilirsiniz. AccountantFileNumber=Muhasebeci kodu DisplayDesc=Dolibarr'ın görünümünü ve davranışını etkileyen parametreler buradan özelleştirilebilir. @@ -1144,7 +1152,7 @@ TriggerAlwaysActive=Bu dosyadaki tetikleyiciler, etkin Dolibarr modülleri ne ol TriggerActiveAsModuleActive=Bu dosyadaki tetikleyiciler %s modülü etkinleştirildiğinde etkin olur. GeneratedPasswordDesc=Otomatik olarak oluşturulan şifreler için kullanılacak yöntemi seçin. DictionaryDesc=Bütün referans verisini ekleyin. Değerlerinizi varsayılana ekleyebilirsiniz. -ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting only. +ConstDesc=Bu sayfa, diğer sayfalarda bulunmayan parametreleri düzenlemenizi (üzerine yazmanızı) sağlar. Bunlar çoğunlukla sadece geliştiriciler/gelişmiş sorun giderme için ayrılmış parametrelerdir. MiscellaneousDesc=Burada güvenlik ile ilgili diğer tüm parametreler tanımlanır. LimitsSetup=Sınırlar/Doğruluk kurulumu LimitsDesc=Dolibarr tarafından kullanılan limitleri, hassasiyetleri ve iyileştirmeleri buradan tanımlayabilirsiniz @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Parola oluşturma ve doğrulama kuralları DisableForgetPasswordLinkOnLogonPage=Oturum açma sayfasında “Parolanızı mı unuttunuz?” bağlantısını gösterme UsersSetup=Kullanıcılar modülü kurulumu UserMailRequired=Yeni bir kullanıcı oluşturmak için e-posta gerekli +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=İK modülü ayarları ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Fatura belgesi modelleri BillsPDFModulesAccordindToInvoiceType=Fatura türüne göre fatura döküman modelleri PaymentsPDFModules=Ödeme belge modelleri ForceInvoiceDate=Fatura tarihini fatura doğrulama tarihine zorla -SuggestedPaymentModesIfNotDefinedInInvoice=Varsayılan olarak faturada tanımlanmamışsa önerilen ödeme biçimi +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Faturada serbest metin @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Tedarikçi ödemesi ayarları PropalSetup=Teklif modülü kurulumu ProposalsNumberingModules=Teklif numaralandırma modülü ProposalsPDFModules=Teklif belge modelleri -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Teklifler üzerinde serbest metin WatermarkOnDraftProposal=Taslak tekliflerde filigran (boşsa yoktur) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Teklif için banka hesabı iste @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Sipariş için Kaynak Depo iste ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Müşteri Siparişleri yönetim ayarları OrdersNumberingModules=Sipariş numaralandırma modülü OrdersModelModule=Sipariş belgesi modelleri @@ -1523,8 +1534,8 @@ NumberOfProductShowInSelect=Aşağı açılan seçim listelerinde gösterilecek ViewProductDescInFormAbility=Ürün açıklamalarını formlarda göster (aksi takdirde araç ipucu penceresinde gösterilir) MergePropalProductCard=Eğer ürün/hizmet teklifte varsa Ekli Dosyalar sekmesinde ürün/hizmet seçeneğini etkinleştirin, böylece ürün PDF belgesini PDF azur teklifine birleştirirsiniz ViewProductDescInThirdpartyLanguageAbility=Ürün açıklamalarını üçün partinin dilinde görüntüle -UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectProduct=Wait until you press a key before loading content of product combo list (This may increase performance if you have a large number of products, but it is less convenient) +UseSearchToSelectProductTooltip=Ayrıca çok fazla sayıda ürüne sahipseniz (>100.000), Ayarlar->Diğer Ayarlar menüsünden PRODUCT_DONOTSEARCH_ANYWHERE sabitini 1 olarak ayarlayarak hızı arttırabilirsiniz. Bu durumda, arama dizenin başlangıcıyla sınırlı olacaktır. +UseSearchToSelectProduct=Aşağı açılır listeden ürün içeriği listelemeden önce bir tuşa basarak arama yapmanızı bekler (Çok sayıda ürününüz varsa bu performansı artırabilir, fakat daha az kullanışlıdır) SetDefaultBarcodeTypeProducts=Ürünler için kullanılacak varsayılan barkod türü SetDefaultBarcodeTypeThirdParties=Üçüncü partiler için kullanılacak varsayılan barkod tipi UseUnits=Sipariş, teklif ya da fatura satırlarının yazımı sırasında kullanmak üzere Miktar için bir ölçü birimi tanımlayın @@ -1601,7 +1612,7 @@ FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines fo FCKeditorForMailing= Toplu e-postalar için WYSIWIG oluşturma/düzenleme (Araçlar->E-postalamalar) FCKeditorForUserSignature=Kullanıcı imzasının WYSIWIG olarak oluşturulması/düzenlenmesi FCKeditorForMail=Tüm mailler için WYSIWIG oluşturma/düzenleme (Araçlar->E-postalamalar hariç) -FCKeditorForTicket=WYSIWIG creation/edition for tickets +FCKeditorForTicket=Destek bildirimleri için WYSIWIG oluşturma/düzenleme ##### Stock ##### StockSetup=Stok modülü kurulumu IfYouUsePointOfSaleCheckModule=If you use the Point of Sale module (POS) provided by default or an external module, this setup may be ignored by your POS module. Most POS modules are designed by default to create an invoice immediately and decrease stock irrespective of the options here. So if you need or not to have a stock decrease when registering a sale from your POS, check also your POS module setup. @@ -1737,7 +1748,7 @@ ProjectsSetup=Proje modülü kurulumu ProjectsModelModule=Proje raporu belge modeli TasksNumberingModules=Görev numaralandırma modülü TaskModelModule=Görev raporu belge modeli -UseSearchToSelectProject=Wait until a key is pressed before loading content of Project combo list.
    This may improve performance if you have a large number of projects, but it is less convenient. +UseSearchToSelectProject=Aşağı açılır listeden Proje içeriği listelemeden önce bir tuşa basarak arama yapmanızı bekler.
    Çok sayıda projeniz mevcutsa bu performansı artırabilir, fakat daha az kullanışlıdır ##### ECM (GED) ##### ##### Fiscal Year ##### AccountingPeriods=Muhasebe dönemleri @@ -1885,7 +1896,7 @@ COMPANY_AQUARIUM_CLEAN_REGEX=Regex filter to clean value (COMPANY_AQUARIUM_CLEAN COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed GDPRContact=Veri Koruma Görevlisi (DPO, Veri Gizliliği veya GDPR kişisi) -GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here +GDPRContactDesc=Avrupalı şirketler veya vatandaşlar hakkında veri depoluyorsanız Genel Veri Koruma Yönetmeliği'nden (GDPR) sorumlu kişiyi burada adlandırabilirsiniz HelpOnTooltip=Araç ipucunda gösterilecek yardım metni HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
    %s @@ -1893,7 +1904,7 @@ ChartLoaded=Chart of account loaded SocialNetworkSetup=Sosyal Ağlar modülünün kurulumu EnableFeatureFor=%s için özellikleri etkinleştir VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents +SwapSenderAndRecipientOnPDF=PDF üzerindeki gönderen ve alıcı adreslerinin yerini birbiriyle değiştir FeatureSupportedOnTextFieldsOnly=Uyarı: Bu özellik yalnızca metin alanlarında desteklenir. Bu özelliği tetiklemek için ayrıca bir URL parametresi action=create ya da action=edit ayarlanmalı VEYA sayfa adı 'new.php' ile bitmelidir. EmailCollector=Email collector EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). @@ -1927,7 +1938,7 @@ MainMenuCode=Menu entry code (mainmenu) ECMAutoTree=Otomatik ECM ağacını göster OperationParamDesc=Define values to use for action, or how to extract values. For example:
    objproperty1=SET:abc
    objproperty1=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:abc
    objproperty4=EXTRACT:HEADER:X-Myheaderkey.*[^\\s]+(.*)
    options_myextrafield=EXTRACT:SUBJECT:([^\\s]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. OpeningHours=Açılış saatleri -OpeningHoursDesc=Enter here the regular opening hours of your company. +OpeningHoursDesc=Buraya şirketinizin normal çalışma saatlerini girin. ResourceSetup=Configuration of Resource module UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list). DisabledResourceLinkUser=Disable feature to link a resource to users @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Dışa aktarma modelleri herkesle paylaşılır ExportSetup=Dışa aktarma modülünün kurulumu +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/tr_TR/bills.lang b/htdocs/langs/tr_TR/bills.lang index 14f091f6081..73cb73cd3ff 100644 --- a/htdocs/langs/tr_TR/bills.lang +++ b/htdocs/langs/tr_TR/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Tedarikçi faturaları SupplierBill=Tedarikçi faturası SupplierBills=tedarikçi faturaları Payment=Ödeme -PaymentBack=Geri ödeme -CustomerInvoicePaymentBack=Geri ödeme +PaymentBack=İade +CustomerInvoicePaymentBack=İade Payments=Ödemeler PaymentsBack=Refunds paymentInInvoiceCurrency=fatura para biriminde PaidBack=Geri ödenen DeletePayment=Ödeme sil ConfirmDeletePayment=Bu ödemeyi silmek istediğinizden emin misiniz? -ConfirmConvertToReduc=Bu %s öğesini mutlak bir indirime dönüştürmek ister misiniz? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Bu %s öğesini mutlak bir indirime dönüştürmek ister misiniz? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Tedarikçi ödemeleri ReceivedPayments=Alınan ödemeler @@ -219,7 +219,10 @@ ShowInvoiceSituation=Hakediş faturası göster UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Öde ToMakePaymentBack=Geri öde ListOfYourUnpaidInvoices=Ödenmemiş fatura listesi NoteListOfYourUnpaidInvoices=Not: Bu liste, satış temsilcisi olarak bağlı olduğunuz üçüncü partilere ait faturaları içerir. -RevenueStamp=Bandrol +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=Yeni bir fatura şablonu oluşturmak için önce bir standart fatura oluşturmalı ve onu "şablona" dönüştürmelisiniz -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Fatura PDF şablonu Crevette. Durum faturaları için eksiksiz bir fatura şablonu TerreNumRefModelDesc1=Standart faturalar için numarayı %syymm-nnnn biçiminde ve iade faturaları için %syymm-nnnn biçiminde göster, yy yıl, mm ay ve nnnn boşluksuz ve 0 olmayan bir dizidir. @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Bitiş tarihini ayarla MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Fatura silindi +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/tr_TR/blockedlog.lang b/htdocs/langs/tr_TR/blockedlog.lang index 7797a0814fd..072bf60a6d8 100644 --- a/htdocs/langs/tr_TR/blockedlog.lang +++ b/htdocs/langs/tr_TR/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/tr_TR/cashdesk.lang b/htdocs/langs/tr_TR/cashdesk.lang index dfc653aa7bb..552521dd61a 100644 --- a/htdocs/langs/tr_TR/cashdesk.lang +++ b/htdocs/langs/tr_TR/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Bu malı ekle RestartSelling=Satışa geri dön SellFinished=Satış tamamlandı PrintTicket=Fiş yazdır +SendTicket=Destek bildirimini gönder NoProductFound=Hiç mal bulunamadı ProductFound=ürün bulundu NoArticle=Mal yok @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Teorik tutar RealAmount=Gerçek tutar +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Fatura sayısı Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Sipariş Notları CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Destek bildirimlerini otomatik olarak yazdır +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Tarayıcı BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/tr_TR/companies.lang b/htdocs/langs/tr_TR/companies.lang index ba12f3799a1..56cd0f70353 100644 --- a/htdocs/langs/tr_TR/companies.lang +++ b/htdocs/langs/tr_TR/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted="%s" Firması veritabanından silindi. ListOfContacts=Kişi/adres listesi ListOfContactsAddresses=Kişi/adres listesi ListOfThirdParties=Üçüncü Partilerin Listesi -ShowCompany=Üçüncü Partiyi Göster ShowContact=Kişi göster ContactsAllShort=Hepsi (süzmeden) ContactType=Kişi tipi @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Satış temsilcisinin adı SaleRepresentativeLastname=Satış temsilcisinin soyadı ErrorThirdpartiesMerge=Üçüncü partiler silinirken bir hata oluştu. Lütfen günlüğü denetleyin. Değişiklikler geri alındı. NewCustomerSupplierCodeProposed=Müşteri veya Tedarikçi kodu zaten kullanılmış, yeni bir kod önerilir +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Ödeme Türü - Müşteri PaymentTermsCustomer=Ödeme Koşulları - Müşteri diff --git a/htdocs/langs/tr_TR/compta.lang b/htdocs/langs/tr_TR/compta.lang index 8f49b0d36b6..925d1926f02 100644 --- a/htdocs/langs/tr_TR/compta.lang +++ b/htdocs/langs/tr_TR/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Gösterilen tutarlara tüm vergiler dahildir -RulesResultDue=- Ödenmemiş faturaları, giderleri ve KDV ni, ödenmiş ya da ödenmemiş bağışları içerir. Aynı zamanda ödenmiş maaşları da içerir.
    - Faturaların ve KDV nin doğrulanma tarihleri ve giderlerin ödenme tarihleri baz alınır. Ücretler Maaş modülünde tanımlanır, ödeme tarihi değeri kullanılır. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Faturalarda, giderlerde, KDV inde ve maaşlarda yapılan gerçek ödemeleri içerir.
    - Faturaların, giderleri, KDV nin ve maaşların ödeme tarihleri baz alınır. Bağışlar için bağış tarihi. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Kısa etiket +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index 762f5e44590..96c1a4b6e2a 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=Dosya sunucu tarafından tamamen alınmadı. ErrorNoTmpDir=Geçici %s dizini yok. ErrorUploadBlockedByAddon=Dosya gönderme PHP/Apache eklentisi tarafından bloke edilmiş. ErrorFileSizeTooLarge=Dosya boyutu çok büyük. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Tam sayı türü için boyut çok uzun (ençok %s ondalık) ErrorSizeTooLongForVarcharType=Dize türü için boyut çok uzun (ençok %s karakter) ErrorNoValueForSelectType=Değer gir ya da liste seç @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHP'nizdeki upload_max_filesize (%s) parametresi, post_max_size (%s) PHP parametresinden daha yüksek. Bu tutarlı bir kurulum değil. WarningPasswordSetWithNoAccount=Bu üye için bir parola ayarlıdır. Ancak, hiçbir kullanıcı hesabı oluşturulmamıştır. Yani bu şifre saklanır ama Dolibarr'a giriş için kullanılamaz. Dış bir modül/arayüz tarafından kullanılıyor olabilir, ama bir üye için ne bir kullanıcı adı ne de parola tanımlamanız gerekmiyorsa "Her üye için bir kullanıcı adı yönet" seçeneğini devre dışı bırakabilirsiniz. Bir kullanıcı adı yönetmeniz gerekiyorsa ama herhangi bir parolaya gereksinim duymuyorsanız bu uyarıyı engellemek için bu alanı boş bırakabilirsiniz. Not: Eğer bir üye bir kullanıcıya bağlıysa kullanıcı adı olarak e-posta adresi de kullanılabilir. diff --git a/htdocs/langs/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index 83da2e22b2a..f06e9617411 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=Bu PHP, Curl'u destekliyor. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=Bu PHP, UTF8 işlevlerini destekliyor. PHPSupportIntl=Bu PHP, Intl fonksiyonlarını destekliyor. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=PHP nizin ençok oturum belleği %s olarak ayarlanmış. Bu yeterli olacaktır. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=PHP kurulumunuz Curl. desteklemiyor ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=PHP kurulumunuz UTF8 işlevlerini desteklemiyor. Dolibarr düzgün çalışamaz. Dolibarr'ı yüklemeden önce bunu çözün. ErrorPHPDoesNotSupportIntl=PHP kurulumunuz Intl fonksiyonlarını desteklemiyor. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=%s Dizini yoktur. ErrorGoBackAndCorrectParameters=Geri gidin ve parametreleri kontrol edin/düzeltin. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Uygulamanıza gitmek için buraya tıklayın ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/tr_TR/link.lang b/htdocs/langs/tr_TR/link.lang index 244396b0e8f..daaf0291ac3 100644 --- a/htdocs/langs/tr_TR/link.lang +++ b/htdocs/langs/tr_TR/link.lang @@ -8,3 +8,4 @@ LinkRemoved=%s bağlantısı kaldırıldı ErrorFailedToDeleteLink= '%s' bağlantısı kaldırılamadı ErrorFailedToUpdateLink= '%s' bağlantısı güncellenemedi URLToLink=Bağlantılanalıcak URL +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/tr_TR/mails.lang b/htdocs/langs/tr_TR/mails.lang index 4ae97915eae..0787f4873f1 100644 --- a/htdocs/langs/tr_TR/mails.lang +++ b/htdocs/langs/tr_TR/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Kategorisi olan hiç bir kişi/adres bulunamadı NoContactLinkedToThirdpartieWithCategoryFound=Kategorisi olan hiç bir kişi/adres bulunamadı OutGoingEmailSetup=Giden e-posta kurulumu InGoingEmailSetup=Gelen e-posta kurulumu -OutGoingEmailSetupForEmailing=Giden e-posta kurulumu (toplu e-posta için) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Varsayılan giden e-posta kurulumu Information=Bilgi ContactsWithThirdpartyFilter=Üçüncü parti filtreli kişiler diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index 83574648634..291b24e3c1b 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -4,8 +4,8 @@ DIRECTION=ltr # msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) # stsongstdlight or cid0cs are for simplified Chinese # To read Chinese pdf with Linux: sudo apt-get install poppler-data -FONTFORPDF=DejaVuSans -FONTSIZEFORPDF=8 +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=. FormatDateShort=%d/%m/%Y @@ -28,7 +28,7 @@ NoTemplateDefined=Bu e-posta türü için mevcut şablon yok AvailableVariables=Mevcut yedek değişkenler NoTranslation=Çeviri yok Translation=Çeviri -EmptySearchString=Enter a non empty search string +EmptySearchString=Boş olmayan bir arama dizesi girin NoRecordFound=Kayıt bulunamadı NoRecordDeleted=Hiç kayıt silinmedi NotEnoughDataYet=Yeterli bilgi yok @@ -174,6 +174,7 @@ SaveAndStay=Kaydet ve kal SaveAndNew=Save and new TestConnection=Deneme bağlantısı ToClone=Kopyasını oluştur +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Kopyasını oluşturmak istediğiniz verileri seçin: NoCloneOptionsSpecified=Kopyası oluşturulacak hiçbir veri tanımlanmamış. Of=ile ilgili @@ -535,7 +536,7 @@ Photos=Resimler AddPhoto=Resim ekle DeletePicture=Resim sil ConfirmDeletePicture=Resim silmeyi onayla -Login=Oturum açma +Login=Kullanıcı adı LoginEmail=Giriş (e-posta) LoginOrEmail=Oturum açma adı veya E-posta adresi CurrentLogin=Geçerli kullanıcı @@ -771,7 +772,7 @@ LinkToSupplierProposal=Tedarikçi teklifine bağlantıla LinkToSupplierInvoice=Tedarikçi faturasına bağlantıla LinkToContract=Kişiye bağlantıla LinkToIntervention=Müdahaleye bağlantıla -LinkToTicket=Link to ticket +LinkToTicket=Destek bildirimine bağlantı CreateDraft=Taslak oluştur SetToDraft=Taslağa geri dön ClickToEdit=Düzenlemek için tıklayın @@ -829,6 +830,8 @@ Gender=Cinsiyet Genderman=Adam Genderwoman=Kadın ViewList=Liste görünümü +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Zorunlu Hello=Merhaba GoodBye=Güle güle @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/tr_TR/other.lang b/htdocs/langs/tr_TR/other.lang index 8e39c3c450b..1033709c7a1 100644 --- a/htdocs/langs/tr_TR/other.lang +++ b/htdocs/langs/tr_TR/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Müşteri siparişi doğrulandı Notify_ORDER_SENTBYMAIL=Müşteri siparişi e-posta ile gönderildi Notify_ORDER_SUPPLIER_SENTBYMAIL=Tedarikçi siparişi e-posta ile gönderildi @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=Sayfanın URL si WEBSITE_TITLE=Unvan WEBSITE_DESCRIPTION=Açıklama WEBSITE_IMAGE=Görüntü -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Anahtar kelimeler LinesToImport=Lines to import diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index 53c71e2f9f1..d79bf8cc61c 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Bu araç TÜM ürün ve hizmetler üzerin MassBarcodeInit=Toplu barkod başlatma MassBarcodeInitDesc=Bu sayfa, barkod tanımlanmamış nesneler üzerinde barkod başlatmak için kullanılabilir. Önce barkod modülü kurulumunun tamamlandığını denetleyin. ProductAccountancyBuyCode=Muhasebe kodu (satın alma) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Muhasebe kodu (satış) ProductAccountancySellIntraCode=Muhasebe kodu (Topluluk içi satış) ProductAccountancySellExportCode=Muhasebe kodu (ihracat) @@ -153,7 +155,7 @@ RowMaterial=Ham madde ConfirmCloneProduct=%s ürünü ve siparişinin kopyasını oluşturmak istediğinizden emin misiniz? CloneContentProduct=Ürün/hizmet ile ilgili tüm temel bilgilerin kopyasını oluştur ClonePricesProduct=Fiyatların kopyasını oluştur -CloneCategoriesProduct=Clone tags/categories linked +CloneCategoriesProduct=Bağlı etiketleri/kategorileri kopyala CloneCompositionProduct=Sanal ürünü/hizmetin kopyasını oluştur CloneCombinationsProduct=Ürün değişkenlerinin kopyasını oluştur ProductIsUsed=Bu ürün kullanılır. @@ -165,7 +167,7 @@ SuppliersPrices=Tedarikçi fiyatları SuppliersPricesOfProductsOrServices=Tedarikçi fiyatları (ürün veya hizmetlerin) CustomCode=G.T.İ.P Numarası CountryOrigin=Menşei ülke -Nature=Ürün yapısı (ham madde/bitmiş ürün) +Nature=Nature of product (material/finished) ShortLabel=Kısa etiket Unit=Birim p=Adet @@ -238,8 +240,8 @@ UseMultipriceRules=İlk segmente göre diğer tüm segmentlerin fiyatlarını ot PercentVariationOver=%s üzerindeki %% değişim PercentDiscountOver=%s üzerindeki %% indirim KeepEmptyForAutoCalculation=Bunun ürünlerin ağırlık veya hacimlerinden otomatik olarak hesaplanması için boş bırakın. -VariantRefExample=Examples: COL, SIZE -VariantLabelExample=Examples: Color, Size +VariantRefExample=Örnek: RENK, EBAT +VariantLabelExample=Örnek: Renk, Ebat ### composition fabrication Build=Üret ProductsMultiPrice=Her fiyat düzeyi için ürünler ve fiyatlar @@ -317,10 +319,10 @@ ProductWeight=1 ürün ağırlığı ProductVolume=1 ürün hacmi WeightUnits=Ağırlık birimi VolumeUnits=Hacim birimi -WidthUnits=Width unit -LengthUnits=Length unit -HeightUnits=Height unit -SurfaceUnits=Surface unit +WidthUnits=Genişlik birimi +LengthUnits=Uzunluk birimi +HeightUnits=Yükseklik birimi +SurfaceUnits=Yüzey birimi SizeUnits=Boyut birimi DeleteProductBuyPrice=Satınalma fiyatı sil ConfirmDeleteProductBuyPrice=Bu satınalma fiyatını silmek istediğinizden emin misiniz? @@ -332,7 +334,7 @@ GoOnMenuToCreateVairants=Nitelik varyantlarını hazırlamak için (renk, boyut UseProductFournDesc=Müşterilere yönelik açıklamalara ek olarak, tedarikçiler tarafından belirlenen ürün açıklamalarını tanımlamak için bir özellik ekleyin ProductSupplierDescription=Ürün için tedarikçi açıklaması UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging +PackagingForThisProduct=Paketleme QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging #Attributes @@ -367,7 +369,7 @@ UsePercentageVariations=Yüzde varyasyonlarını kullan PercentageVariation=Yüzde varyasyonu ErrorDeletingGeneratedProducts=Mevcut ürün varyantlarını silmeye çalışırken bir hata oluştu NbOfDifferentValues=Farklı değerlerin sayısı -NbProducts=Number of products +NbProducts=Ürün sayısı ParentProduct=Ana ürün HideChildProducts=Değişken ürünleri sakla ShowChildProducts=Varyant ürünlerini göster @@ -379,5 +381,5 @@ ErrorDestinationProductNotFound=Hedef ürün bulunamadı ErrorProductCombinationNotFound=Ürün değişkeni bulunamadı ActionAvailableOnVariantProductOnly=Eylem yalnızca ürün değişkeninde mevcuttur ProductsPricePerCustomer=Müşteri başına ürün fiyatları -ProductSupplierExtraFields=Additional Attributes (Supplier Prices) -DeleteLinkedProduct=Delete the child product linked to the combination +ProductSupplierExtraFields=Ek Nitelikler (Tedarikçi Fiyatları) +DeleteLinkedProduct=Kombinasyonla bağlantılı alt ürünü silin diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index a37d8e3050e..44d35644f1c 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Süre ListOfTasks=Görevler listesi GoToListOfTimeConsumed=Tüketilen süre listesine git -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=Proje ile ilgili müşteri siparişlerinin listesi @@ -188,7 +186,7 @@ PlannedWorkload=Planlı işyükü PlannedWorkloadShort=İşyükü ProjectReferers=İlgili öğeler ProjectMustBeValidatedFirst=Projeler önce doğrulanmalıdır -FirstAddRessourceToAllocateTime=Zaman tahsisi için göreve bir kullanıcı kaynağı ilişkilendir +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Günlük giriş InputPerWeek=Haftalık giriş InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Değiştirilen son %s proje OtherFilteredTasks=Diğer filtrelenmiş görevler NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Görevlere kullanıcı yorumlarına izin ver AllowCommentOnProject=Projelerde kullanıcı yorumlarına izin ver @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Yeni fatura OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/tr_TR/receiptprinter.lang b/htdocs/langs/tr_TR/receiptprinter.lang index 775969b454e..0fdd7f993a5 100644 --- a/htdocs/langs/tr_TR/receiptprinter.lang +++ b/htdocs/langs/tr_TR/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Yardımcı Yazıcı CONNECTOR_NETWORK_PRINT=Ağ Yazıcısı CONNECTOR_FILE_PRINT=Yerel Yazıcı CONNECTOR_WINDOWS_PRINT=Yerel Windows Yazıcısı +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Deneme için Sahte Yazıcı, hiçbir şey yapmaz CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Varsayılan profil PROFILE_SIMPLE=Basit profil PROFILE_EPOSTEP=Epos Tep Profili @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Fatura ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Topluluk İçi Vergi Numarası +DOL_VALUE_MYSOC_CAPITAL=Sermaye +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/tr_TR/stripe.lang b/htdocs/langs/tr_TR/stripe.lang index 97dc7ae5661..faabde173b6 100644 --- a/htdocs/langs/tr_TR/stripe.lang +++ b/htdocs/langs/tr_TR/stripe.lang @@ -32,6 +32,7 @@ VendorName=Satıcının Adı CSSUrlForPaymentForm=Ödeme formu için CSS stil sayfası url'si NewStripePaymentReceived=Yeni Stripe ödemesi alındı NewStripePaymentFailed=Yeni Stripe ödemesi denendi ancak başarısız oldu +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Gizli test anahtarı STRIPE_TEST_PUBLISHABLE_KEY=Yayımlanabilir test anahtarı STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Ödeme gelecek dönem için kaydedilecektir. ClickHereToTryAgain=Tekrar denemek için burayı tıklayın... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/tr_TR/users.lang b/htdocs/langs/tr_TR/users.lang index 50b800b2d52..2ca8694ed66 100644 --- a/htdocs/langs/tr_TR/users.lang +++ b/htdocs/langs/tr_TR/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Kullanıcılar ve özellikleri DomainUser=Etki alanı kullanıcısı %s Reactivate=Yeniden etkinleştir CreateInternalUserDesc=Bu form, şirketiniz/kuruluşunuz içinde bir iç kullanıcı oluşturmanıza olanak tanır. Bir dış kullanıcı oluşturmak için (müşteri, tedarikçi, vb ...), üçüncü parti kişi kartından 'Dolibarr Kullanıcısı Oluştur' butonunu kullanın. -InternalExternalDesc=Bir İç kullanıcı, şirketinizin/kuruluşunuzun parçası olan bir kullanıcıdır.
    Bir Dış kullanıcı ise, müşteri, tedarikçi veya buna benzer bir kullanıcıdır.

    Her iki durumda da, verilen izinler Dolibarr üzerindeki hakları tanımlar. Bunun yanı sıra dış kullanıcı, iç kullanıcıdan farklı bir menü yöneticisine sahip olabilir (Giriş - Ayarlar - Ekran bölümüne bakın). +InternalExternalDesc=Bir İç kullanıcı, şirketinizin/kuruluşunuzun parçası olan bir kullanıcıdır.
    Bir Dış kullanıcı ise, müşteri, tedarikçi veya diğer (Bir üçüncü parti için dış kullanıcı oluşturmak isteniyorsa, oluşturulmak istenen kişinin sayfasında "Bir kullanıcı oluştur" butonu kullanılabilir) bir kullanıcıdır.

    Her iki durumda da, verilen izinler Dolibarr üzerindeki hakları tanımlar. Bunun yanı sıra dış kullanıcı, iç kullanıcıdan farklı bir menü yöneticisine sahip olabilir (Giriş - Ayarlar - Ekran bölümüne bakın). PermissionInheritedFromAGroup=İzin hak tanındı çünkü bir kullanıcının grubundan intikal etti. Inherited=İntikal eden UserWillBeInternalUser=Oluşturulacak kullanıcı bir iç kullanıcı olacaktır (çünkü belirli bir üçüncü parti ile bağlantılı değildir) @@ -105,8 +105,13 @@ ExpectedWorkedHours=Haftalık beklenen çalışma saatleri ColorUser=Kullanıcı rengi DisabledInMonoUserMode=Bakım modunda devre dışıdır UserAccountancyCode=Kullanıcı muhasebe kodu -UserLogoff=Kullanıcı çıktı -UserLogged=Kullanıcı bağlandı +UserLogoff=Kullanıcı çıkış yaptı +UserLogged=Kullanıcı giriş yaptı DateEmployment=İşe Başlama Tarihi DateEmploymentEnd=İşi Bırakma Tarihi CantDisableYourself=Kendi kullanıcı kaydınızı devre dışı bırakamazsınız +ForceUserExpenseValidator=Gider raporu doğrulayıcısını zorla +ForceUserHolidayValidator=İzin isteği doğrulayıcısını zorla +ValidatorIsSupervisorByDefault=Varsayılan olarak, doğrulayıcı kullanıcının denetimcisidir. Bu durumu korumak için boş bırakın. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/tr_TR/website.lang b/htdocs/langs/tr_TR/website.lang index 28380e99411..2c6025eb4dd 100644 --- a/htdocs/langs/tr_TR/website.lang +++ b/htdocs/langs/tr_TR/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Siteyi yeni sekmede izle SetAsHomePage=Giriş Sayfası olarak ayarla RealURL=Gerçek URL ViewWebsiteInProduction=Web sitesini giriş URL si kullanarak izle -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=PHP gömülü sunucu ile kullanın
    Geliştirme ortamında, siteyi PHP gömülü web sunucusu ile test etmeyi tercih edebilirsiniz (PHP 5.5 gerekli)
    php -S 0.0.0.0:8080 -t%s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Web sitesi hesap tablosunu etkinleştir WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=Öncelikle varsayılan Giriş sayfasını tanımlamanız gerekir -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Görüntüler dizine kaydedilmelidir @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index 17b0f823011..2e96db5c8dc 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/uk_UA/bills.lang b/htdocs/langs/uk_UA/bills.lang index 4fc90ffb4fa..d481e665112 100644 --- a/htdocs/langs/uk_UA/bills.lang +++ b/htdocs/langs/uk_UA/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=рахунки-фактури постачальників Payment=Платіж -PaymentBack=Повернення платежу -CustomerInvoicePaymentBack=Повернення платежу +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Платежі PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Повернення платежу DeletePayment=Видалити платіж ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Отримані платежі @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=Pay ToMakePaymentBack=Повернення платежу ListOfYourUnpaidInvoices=Список неоплачених рахунків NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Revenue stamp +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/uk_UA/blockedlog.lang b/htdocs/langs/uk_UA/blockedlog.lang index cff8f7d657b..5afae6e9e53 100644 --- a/htdocs/langs/uk_UA/blockedlog.lang +++ b/htdocs/langs/uk_UA/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/uk_UA/cashdesk.lang b/htdocs/langs/uk_UA/cashdesk.lang index 72238fe1fed..05314c6dd09 100644 --- a/htdocs/langs/uk_UA/cashdesk.lang +++ b/htdocs/langs/uk_UA/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=К-ть рахунків-фактур Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/uk_UA/companies.lang b/htdocs/langs/uk_UA/companies.lang index b4ff027e4df..64082ef929a 100644 --- a/htdocs/langs/uk_UA/companies.lang +++ b/htdocs/langs/uk_UA/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/uk_UA/compta.lang b/htdocs/langs/uk_UA/compta.lang index db4c2fecf25..25d9f2b34e4 100644 --- a/htdocs/langs/uk_UA/compta.lang +++ b/htdocs/langs/uk_UA/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/uk_UA/link.lang b/htdocs/langs/uk_UA/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/uk_UA/link.lang +++ b/htdocs/langs/uk_UA/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/uk_UA/mails.lang b/htdocs/langs/uk_UA/mails.lang index 5650dbb3967..8b1cb50fe79 100644 --- a/htdocs/langs/uk_UA/mails.lang +++ b/htdocs/langs/uk_UA/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 29fc4f2f58c..4a8db0781af 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/uk_UA/other.lang b/htdocs/langs/uk_UA/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/uk_UA/other.lang +++ b/htdocs/langs/uk_UA/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index 21d7b5eaca1..ae0f5ef2874 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index 7e9b2dca54e..5e499f4b2c7 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Новий рахунок-фактура OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/uk_UA/receiptprinter.lang b/htdocs/langs/uk_UA/receiptprinter.lang index 9681691ae48..807a476009d 100644 --- a/htdocs/langs/uk_UA/receiptprinter.lang +++ b/htdocs/langs/uk_UA/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Dummy Printer CONNECTOR_NETWORK_PRINT=Network Printer CONNECTOR_FILE_PRINT=Local Printer CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Default Profile PROFILE_SIMPLE=Simple Profile PROFILE_EPOSTEP=Epos Tep Profile @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=Capital +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/uk_UA/stripe.lang b/htdocs/langs/uk_UA/stripe.lang index eb77441d2cd..844762040af 100644 --- a/htdocs/langs/uk_UA/stripe.lang +++ b/htdocs/langs/uk_UA/stripe.lang @@ -32,6 +32,7 @@ VendorName=Name of vendor CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/uk_UA/users.lang b/htdocs/langs/uk_UA/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/uk_UA/users.lang +++ b/htdocs/langs/uk_UA/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/uk_UA/website.lang b/htdocs/langs/uk_UA/website.lang index 7fe18b58621..1fe75b2993e 100644 --- a/htdocs/langs/uk_UA/website.lang +++ b/htdocs/langs/uk_UA/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=Check also that virtual host has permission %s on files into
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site GrabImagesInto=Grab also images found into css and page. ImagesShouldBeSavedInto=Images should be saved into directory @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index 2f36c876c1a..0205f246b0c 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Accounting module setup UserSetup=User management setup MultiCurrencySetup=Multi-currency setup @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Feature disabled in demo FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -212,6 +212,7 @@ CompatibleUpTo=Compatible with version %s NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s Updated=Updated Nouveauté=Novelty AchatTelechargement=Buy / Download @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=External websites for more add-on (non-core) modules... DevelopYourModuleDesc=Some solutions to develop your own module... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets available BoxesActivated=Widgets activated ActivateOn=Activate on @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link SetAsDefault=Set as default ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module - Installed into directory %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=Regions DictionaryCountry=Countries DictionaryCurrency=Currencies -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=Types of agenda events DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=VAT Rates or Sales Tax Rates @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Rate LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases @@ -1018,6 +1025,7 @@ CalcLocaltax2=Purchases CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases CalcLocaltax3=Sales CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Label used by default if no translation can be found for code LabelOnDocuments=Label on documents LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=Setup parameters can be set by administrator users only. SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=Users module setup UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=HRM module setup ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Invoice documents models BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=Payment documents models ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=Commercial proposals module setup ProposalsNumberingModules=Commercial proposal numbering models ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index 6d7c61784f7..8c22ce0159a 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=suppliers invoices Payment=Payment -PaymentBack=Payment back -CustomerInvoicePaymentBack=Payment back +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=Payments PaymentsBack=Refunds paymentInInvoiceCurrency=in invoices currency PaidBack=Paid back DeletePayment=Delete payment ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=Received payments @@ -219,7 +219,10 @@ ShowInvoiceSituation=Show situation invoice UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ 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 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices TerreNumRefModelDesc1=Return number 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 @@ -575,3 +578,4 @@ AutoFillDateTo=Set end date for service line with next invoice date AutoFillDateToShort=Set end date MaxNumberOfGenerationReached=Max number of gen. reached BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/uz_UZ/cashdesk.lang b/htdocs/langs/uz_UZ/cashdesk.lang index 7ddbc71f3e9..f9f00015840 100644 --- a/htdocs/langs/uz_UZ/cashdesk.lang +++ b/htdocs/langs/uz_UZ/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Add this article RestartSelling=Go back on sell SellFinished=Sale complete PrintTicket=Print ticket +SendTicket=Send ticket NoProductFound=No article found ProductFound=product found NoArticle=No article @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=Nb of invoices Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Browser BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/uz_UZ/companies.lang b/htdocs/langs/uz_UZ/companies.lang index c569a48c84a..f8b3d0354e2 100644 --- a/htdocs/langs/uz_UZ/companies.lang +++ b/htdocs/langs/uz_UZ/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Company "%s" deleted from database. ListOfContacts=List of contacts/addresses ListOfContactsAddresses=List of contacts/addresses ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=Show contact ContactsAllShort=All (No filter) ContactType=Contact type @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=First name of sales representative SaleRepresentativeLastname=Last name of sales representative ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/uz_UZ/compta.lang b/htdocs/langs/uz_UZ/compta.lang index 1de030a1905..6cd046c5607 100644 --- a/htdocs/langs/uz_UZ/compta.lang +++ b/htdocs/langs/uz_UZ/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation on act SeeReportInDueDebtMode=See %sanalysis of invoices%s for a calculation based on known recorded invoices even if they are not yet accounted in Ledger. SeeReportInBookkeepingMode=See %sBookeeping report%s for a calculation on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the validation date of invoices and VAT and on the due date for expenses. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Turnover invoiced by sale tax rate TurnoverCollectedbyVatrate=Turnover collected by sale tax rate PurchasebyVatrate=Purchase by sale tax rate LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index 3ffc686e62f..7c67aeca8b5 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File not received completely by server. ErrorNoTmpDir=Temporary directy %s does not exists. ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) ErrorNoValueForSelectType=Please fill value for select list @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index bf9c08c4ba7..f67dff57184 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=Click here to go to your application ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/uz_UZ/link.lang b/htdocs/langs/uz_UZ/link.lang index fdcf07aeff4..1ffcd41a18b 100644 --- a/htdocs/langs/uz_UZ/link.lang +++ b/htdocs/langs/uz_UZ/link.lang @@ -8,3 +8,4 @@ LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/uz_UZ/mails.lang b/htdocs/langs/uz_UZ/mails.lang index 8b92cef3103..7b3bfd3852a 100644 --- a/htdocs/langs/uz_UZ/mails.lang +++ b/htdocs/langs/uz_UZ/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=No contact/address with a category found NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found OutGoingEmailSetup=Outgoing email setup InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Default outgoing email setup Information=Information ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index 0b31a6d85e2..e571f74d43e 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=Test connection ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=No data to clone defined. Of=of @@ -829,6 +830,8 @@ Gender=Gender Genderman=Man Genderwoman=Woman ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Mandatory Hello=Hello GoodBye=GoodBye @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/uz_UZ/other.lang b/htdocs/langs/uz_UZ/other.lang index 00259d976bc..ba85f51e739 100644 --- a/htdocs/langs/uz_UZ/other.lang +++ b/htdocs/langs/uz_UZ/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL of page WEBSITE_TITLE=Title WEBSITE_DESCRIPTION=Description WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Keywords LinesToImport=Lines to import diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index d8a3192551f..a31243a07b6 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Accounting code (sale) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=Accounting code (sale export) @@ -165,7 +167,7 @@ SuppliersPrices=Vendor prices SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=Customs / Commodity / HS code CountryOrigin=Origin country -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=Short label Unit=Unit p=u. diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index 94e440f9ab9..cdc0e6b3c95 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=Time ListOfTasks=List of tasks GoToListOfTimeConsumed=Go to list of time consumed -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=Gantt View ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=Planned workload PlannedWorkloadShort=Workload ProjectReferers=Related items ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource to task to allocate time +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks AllowCommentOnProject=Allow user comments on projects @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=New invoice OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/uz_UZ/users.lang b/htdocs/langs/uz_UZ/users.lang index 43fa5342da3..aea4e7676e4 100644 --- a/htdocs/langs/uz_UZ/users.lang +++ b/htdocs/langs/uz_UZ/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Users and their properties DomainUser=Domain user %s Reactivate=Reactivate CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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) @@ -110,3 +110,8 @@ UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index af3b098f54f..5c39e62c272 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Lưu ý: cấu hình PHP của bạn hiện giớ NoMaxSizeByPHPLimit=Ghi chú: Không có giới hạn được chỉnh sửa trong phần chỉnh sửa PHP MaxSizeForUploadedFiles=Kích thước tối đa của tập tin được tải lên (0 sẽ tắt chế độ tải lên) UseCaptchaCode=Sử dụng mã xác nhận (CAPTCHA) ở trang đăng nhập -AntiVirusCommand= Đường dẫn đầy đủ để thi hành việc quét virus -AntiVirusCommandExample= Thí dụ dành cho ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Thí dụ cho ClamAv: /usr/bin/clamscan +AntiVirusCommand=Đường dẫn đầy đủ để thi hành việc quét virus +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= Nhiều thông số trên dòng lệnh -AntiVirusParamExample= Thí dụ với ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=Cài đặt module kế toán UserSetup=Cài đặt quản lý người dùng MultiCurrencySetup=Thiết lập đa tiền tệ @@ -199,7 +199,7 @@ FeatureDisabledInDemo=Tính năng đã vô hiệu hóa trong bản demo FeatureAvailableOnlyOnStable=Tính năng chỉ khả dụng trên các phiên bản ổn định chính thức BoxesDesc=Widget là các thành phần hiển thị một số thông tin mà bạn có thể thêm để cá nhân hóa một số trang. Bạn có thể chọn giữa hiển thị tiện ích hoặc không bằng cách chọn trang đích và nhấp vào 'Kích hoạt' hoặc bằng cách nhấp vào thùng rác để tắt nó. OnlyActiveElementsAreShown=Chỉ có các yếu tố từ module kích hoạt được hiển thị. -ModulesDesc=Các mô-đun / ứng dụng xác định các tính năng có sẵn trong phần mềm. Một số mô-đun yêu cầu quyền được cấp cho người dùng sau khi kích hoạt mô-đun. Nhấp vào nút bật / tắt (ở cuối dòng mô-đun) để bật / tắt mô-đun / ứng dụng. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=Bạn có thể tìm thấy nhiều mô-đun để tải về ở các websites trên Internet ... ModulesDeployDesc=Nếu quyền trên hệ thống tệp của bạn cho phép, bạn có thể sử dụng công cụ này để triển khai mô-đun bên ngoài. Mô-đun sau đó sẽ hiển thị trên tab %s . ModulesMarketPlaces=Tìm ứng dụng bên ngoài/ mô-đun @@ -212,6 +212,7 @@ CompatibleUpTo=Tương thích với phiên bản %s NotCompatible=Mô-đun này dường như không tương thích với Dolibarr %s của bạn (Min %s - Max %s). CompatibleAfterUpdate=Mô-đun này yêu cầu cập nhật lên Dolibarr %s của bạn (Min %s - Max %s). SeeInMarkerPlace=Xem ở chợ +SeeSetupOfModule=Xem thiết lập mô-đun %s Updated=Đã cập nhật Nouveauté=Mới lạ AchatTelechargement=Mua / Tải xuống @@ -221,6 +222,7 @@ DoliPartnersDesc=Danh sách các công ty cung cấp các mô-đun hoặc tính WebSiteDesc=Các trang web bên ngoài để có thêm các mô-đun bổ sung (không lõi) ... DevelopYourModuleDesc=Một số giải pháp để phát triển mô-đun của riêng bạn ... URL=URL +RelativeURL=Relative URL BoxesAvailable=Widgets có sẵn BoxesActivated=Widgets được kích hoạt ActivateOn=Kích hoạt trên @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=Giữ trống để sử dụng giá trị mặc định DefaultLink=Liên kết mặc định SetAsDefault=Đặt làm mặc định ValueOverwrittenByUserSetup=Cảnh báo, giá trị này có thể được ghi đè bởi các thiết lập cụ thể người sử dụng (mỗi người dùng có thể thiết lập url clicktodial riêng của mình) -ExternalModule=Module bên ngoài được cài đặt vào thư mục %s +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Khởi tạo mã vạch hàng loạt cho bên thứ ba BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Hiện tại, bạn có %s bản ghi %s %s không xác định được mã vạch @@ -947,7 +950,7 @@ DictionaryCanton=Bang / Tỉnh DictionaryRegion=Vùng DictionaryCountry=Quốc gia DictionaryCurrency=Tiền tệ -DictionaryCivility=Chức vụ +DictionaryCivility=Honorific titles DictionaryActions=Các loại sự kiện chương trình nghị sự DictionarySocialContributions=Các loại thuế xã hội hoặc tài chính DictionaryVAT=Tỉ suất VAT hoặc Tỉ xuất thuế bán hàng @@ -988,6 +991,7 @@ VATIsNotUsedDesc=Theo mặc định, thuế Bán hàng được đề xuất là VATIsUsedExampleFR=Ở Pháp, nó có nghĩa là các công ty hoặc tổ chức có một hệ thống tài chính thực sự (Đơn giản hóa thực tế hoặc thực tế bình thường). Một hệ thống trong đó VAT được khai báo. VATIsNotUsedExampleFR=Ở Pháp, điều đó có nghĩa là các hiệp hội không khai thuế bán hàng hoặc các công ty, tổ chức hoặc ngành nghề tự do đã chọn hệ thống tài chính doanh nghiệp siêu nhỏ (Thuế bán hàng trong nhượng quyền thương mại) và nộp thuế nhượng quyền Thuế bán hàng mà không cần khai báo thuế Bán hàng. Lựa chọn này sẽ hiển thị tham chiếu "Thuế bán hàng không áp dụng - art-293B của CGI" trên hóa đơn. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=Tỷ suất LocalTax1IsNotUsed=Do not use second tax LocalTax1IsUsedDesc=Sử dụng loại thuế thứ hai (không phải loại thứ nhất) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=Tỷ lệ IRPF theo mặc định khi tạo khách hàng t 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=Ở Tây Ban Nha, họ là các doanh nghiệp không phải chịu hệ thống thuế của các mô-đun. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=Báo cáo thuế địa phương CalcLocaltax1=Bán - Mua CalcLocaltax1Desc=Báo cáo Thuế địa phương được tính toán với sự khác biệt giữa localtaxes bán hàng và mua hàng localtaxes @@ -1018,6 +1025,7 @@ CalcLocaltax2=Mua CalcLocaltax2Desc=Báo cáo Thuế địa phương là tổng của localtaxes mua CalcLocaltax3=Bán CalcLocaltax3Desc=Báo cáo Thuế địa phương là tổng của localtaxes bán hàng +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=Nhãn được sử dụng bởi mặc định nếu không có bản dịch có thể được tìm thấy với code đó LabelOnDocuments=Nhãn trên các tài liệu LabelOrTranslationKey=Nhãn hoặc từ khóa dịch @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Báo cáo chi phí để phê duyệt Delays_MAIN_DELAY_HOLIDAYS=Yêu cầu nghỉ phép để phê duyệt SetupDescription1=Trước khi bắt đầu sử dụng Dolibarr, một số tham số ban đầu phải được xác định và các mô-đun được kích hoạt/ định cấu hình. SetupDescription2=Hai phần sau đây là bắt buộc (hai mục đầu tiên trong menu Cài đặt): -SetupDescription3=%s -> %s
    Các tham số cơ bản được sử dụng để tùy chỉnh hành vi mặc định của ứng dụng của bạn (ví dụ: đối với các tính năng liên quan đến quốc gia). -SetupDescription4=%s -> %s
    Phần mềm này là một bộ gồm nhiều mô-đun/ứng dụng, tất cả đều ít nhiều độc lập nhau. Các mô-đun liên quan đến nhu cầu của bạn phải được kích hoạt và cấu hình. Các mục/tùy chọn sẽ được thêm vào menu với sự kích hoạt của một mô-đun. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Các menu thiết lập khác quản lý các tham số tùy chọn. LogEvents=Sự kiện kiểm toán bảo mật Audit=Kiểm toán @@ -1128,7 +1136,7 @@ LogEventDesc=Cho phép đăng nhập cho các sự kiện bảo mật cụ thể AreaForAdminOnly=Thông số cài đặt chỉ có thể được đặt bởi người dùng quản trị viên . SystemInfoDesc=Hệ thống thông tin là thông tin kỹ thuật linh tinh bạn nhận được trong chế độ chỉ đọc và có thể nhìn thấy chỉ cho quản trị viên. SystemAreaForAdminOnly=Khu vực này chỉ dành cho người dùng quản trị viên. Quyền người dùng Dolibarr không thể thay đổi hạn chế này. -CompanyFundationDesc=Chỉnh sửa thông tin của công ty/tổ chức. Nhấp vào nút "%s" ở cuối trang. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=Nếu bạn có một kế toán viên/ kế toán bên ngoài, bạn có thể chỉnh sửa thông tin ở đây. AccountantFileNumber=Mã kế toán DisplayDesc=Các thông số ảnh hưởng đến giao diện và hành vi của Dolibarr có thể được sửa đổi tại đây. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Quy tắc tạo và xác thực mật khẩu DisableForgetPasswordLinkOnLogonPage=Không hiển thị liên kết "Quên mật khẩu" trên trang Đăng nhập UsersSetup=Thiết lập module người dùng UserMailRequired=Yêu cầu email để tạo người dùng mới +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=Thiết lập mô-đun Nhân sự ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=Mô hình chứng từ hóa đơn BillsPDFModulesAccordindToInvoiceType=Mẫu chứng từ hóa đơn theo loại hóa đơn PaymentsPDFModules=Mẫu chứng từ thanh toán ForceInvoiceDate=Buộc ngày hóa đơn là ngày xác nhận -SuggestedPaymentModesIfNotDefinedInInvoice=Đề nghị chế độ thanh toán trên hoá đơn theo mặc định nếu không được xác định cho hóa đơn +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Đề nghị thanh toán bằng cách rút tiền trên tài khoản SuggestPaymentByChequeToAddress=Đề nghị thanh toán bằng séc FreeLegalTextOnInvoices=Free text on invoices @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Thiết lập thanh toán của nhà cung cấp PropalSetup=Cài đặt module đơn hàng đề xuất ProposalsNumberingModules=Mô hình đánh số đơn hàng đề xuất ProposalsPDFModules=Mô hình chứng từ đơn hàng đề xuất -SuggestedPaymentModesIfNotDefinedInProposal=Chế độ thanh toán được gợi ý theo đề xuất theo mặc định nếu không có định nghĩa cho đề xuất +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Yêu cầu tài khoản ngân hàng của đơn hàng đề xuất @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Hỏi nguồn kho để đặt hàng ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Hỏi tài khoản ngân hàng đích của đơn đặt hàng mua ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Thiết lập quản lý đơn đặt hàng OrdersNumberingModules=Mô hình đánh số đơn hàng OrdersModelModule=Mô hình chứng từ đơn hàng @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Cảnh báo, giá trị cao hơn làm c ModuleActivated=Mô-đun %s được kích hoạt và làm chậm giao diện EXPORTS_SHARE_MODELS=Mô hình xuất dữ liệu được chia sẻ với mọi người ExportSetup=Thiết lập mô-đun Xuất dữ liệu +ImportSetup=Setup of module Import InstanceUniqueID=ID duy nhất của đối tượng SmallerThan=Nhỏ hơn LargerThan=Lớn hơn @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Tạo một Ping ẩn danh '+1' cho máy chủ nền tảng Do FeatureNotAvailableWithReceptionModule=Tính năng không khả dụng khi mô-đun Tiếp nhận được bật EmailTemplate=Mẫu cho email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/vi_VN/bills.lang b/htdocs/langs/vi_VN/bills.lang index 1d1d40bd268..d57824e370e 100644 --- a/htdocs/langs/vi_VN/bills.lang +++ b/htdocs/langs/vi_VN/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Hóa đơn nhà cung cấp SupplierBill=Hóa đơn nhà cung cấp SupplierBills=Hóa đơn nhà cung cấp Payment=Thanh toán -PaymentBack=Thanh toán lại -CustomerInvoicePaymentBack=Thanh toán lại +PaymentBack=Hoàn thuế +CustomerInvoicePaymentBack=Hoàn thuế Payments=Thanh toán PaymentsBack=Refunds paymentInInvoiceCurrency=tiền tệ trên hóa đơn PaidBack=Đã trả lại DeletePayment=Xóa thanh toán ConfirmDeletePayment=Bạn có chắc chắn muốn xóa khoản thanh toán này? -ConfirmConvertToReduc=Bạn có muốn chuyển đổi %s này thành giảm giá tuyệt đối không? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=Số tiền sẽ được lưu trong số tất cả các khoản giảm giá và có thể được sử dụng làm khoản giảm giá cho hóa đơn hiện tại hoặc tương lai cho khách hàng này. -ConfirmConvertToReducSupplier=Bạn có muốn chuyển đổi %s này thành giảm giá tuyệt đối không? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=Số tiền sẽ được lưu trong số tất cả các khoản giảm giá và có thể được sử dụng làm khoản giảm giá cho hóa đơn hiện tại hoặc tương lai cho nhà cung cấp này. SupplierPayments=Thanh toán của nhà cung cấp ReceivedPayments=Đã nhận thanh toán @@ -219,7 +219,10 @@ ShowInvoiceSituation=Xem hóa đơn tình huống UseSituationInvoices=Cho phép hóa đơn tình huống UseSituationInvoicesCreditNote=Cho phép ghi chú tín dụng hóa đơn tình huống Retainedwarranty=Giữ lại bảo hành +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Giữ lại phần trăm mặc định bảo hành +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=Thanh toán trên %s toPayOn=thanh toán trên %s RetainedWarranty=Giữ lại bảo hành @@ -509,11 +512,11 @@ ToMakePayment=Trả ToMakePaymentBack=Trả lại ListOfYourUnpaidInvoices=Danh sách các hoá đơn chưa trả NoteListOfYourUnpaidInvoices=Ghi chú: Danh sách này chỉ chứa các hoá đơn cho bên thứ ba mà bạn liên quan như là một đại diện bán hàng. -RevenueStamp=Doanh thu đóng dấu +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=Tùy chọn này chỉ khả dụng khi tạo hóa đơn từ tab "Khách hàng" của bên thứ ba YouMustCreateInvoiceFromSupplierThird=Tùy chọn này chỉ khả dụng khi tạo hóa đơn từ tab "Nhà cung cấp" của bên thứ ba YouMustCreateStandardInvoiceFirstDesc=Trước tiên, bạn phải tạo hóa đơn chuẩn và chuyển đổi thành "mẫu" để tạo hóa đơn mẫu mới -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Hóa đơn PDF mẫu Sponge. Một mẫu hóa đơn hoàn chỉnh PDFCrevetteDescription=Hóa đơn PDF mẫu Crevette. Mẫu hóa đơn hoàn chỉnh cho hóa đơn tình huống TerreNumRefModelDesc1=Quay về số với định dạng %ssyymm-nnnn cho hóa đơn chuẩn và %syymm-nnnn cho các giấy báo có nơi mà yy là năm, mm là tháng và nnnn là một chuỗi ngắt và không trở về 0 @@ -575,3 +578,4 @@ AutoFillDateTo=Đặt ngày kết thúc cho dòng dịch vụ với ngày hóa AutoFillDateToShort=Đặt ngày kết thúc MaxNumberOfGenerationReached=Số lượng tạo ra đạt tối đa BILL_DELETEInDolibarr=Hóa đơn đã bị xóa +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/vi_VN/blockedlog.lang b/htdocs/langs/vi_VN/blockedlog.lang index 96ec346012a..d0ed0570da4 100644 --- a/htdocs/langs/vi_VN/blockedlog.lang +++ b/htdocs/langs/vi_VN/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Nhật ký không thể thay đổi ShowAllFingerPrintsMightBeTooLong=Hiển thị tất cả các nhật ký lưu trữ (có thể dài) ShowAllFingerPrintsErrorsMightBeTooLong=Hiển thị tất cả các nhật ký lưu trữ không hợp lệ (có thể dài) DownloadBlockChain=Tải dấu vân tay -KoCheckFingerprintValidity=Lưu trữ nhật ký không hợp lệ. Nó có nghĩa là ai đó (một hacker?) Đã sửa đổi một số dữ liệu của lần này sau khi nó được ghi lại hoặc đã xóa bản ghi lưu trữ trước đó (kiểm tra dòng đó với # tồn tại trước đó). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Bản ghi nhật ký lưu trữ là hợp lệ. Dữ liệu trên dòng này không được sửa đổi và mục nhập theo sau. OkCheckFingerprintValidityButChainIsKo=Nhật ký lưu trữ có vẻ hợp lệ so với trước đó nhưng chuỗi đã bị hỏng trước đó. AddedByAuthority=Lưu trữ vào ủy quyền từ xa diff --git a/htdocs/langs/vi_VN/cashdesk.lang b/htdocs/langs/vi_VN/cashdesk.lang index 3e7a9e7d3bd..ccfe1669ae1 100644 --- a/htdocs/langs/vi_VN/cashdesk.lang +++ b/htdocs/langs/vi_VN/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=Thêm bài viết này RestartSelling=Quay trở lại trên bán SellFinished=Hoàn thành bán hàng PrintTicket=In vé +SendTicket=Send ticket NoProductFound=Không có bài viết được tìm thấy ProductFound=sản phẩm tìm thấy NoArticle=Không có bài viết @@ -48,6 +49,7 @@ Footer=Chân trang AmountAtEndOfPeriod=Số tiền cuối kỳ (ngày, tháng hoặc năm) TheoricalAmount=Số lượng lý thuyết RealAmount=Số tiền thực tế +CashFence=Cash fence CashFenceDone=Rào cản tiền mặt được thực hiện trong kỳ NbOfInvoices=Nb của hoá đơn Paymentnumpad=Loại Bảng để nhập thanh toán @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS cần các danh mục sản phẩm để hoạt OrderNotes=Ghi chú đơn hàng CashDeskBankAccountFor=Tài khoản mặc định được sử dụng để thanh toán trong NoPaimementModesDefined=Không có chế độ thanh toán được xác định trong cấu hình TakePOS -TicketVatGrouped=Nhóm VAT theo tỷ lệ trong vé -AutoPrintTickets=Tự động in vé +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Cho phép tính năng cho Bar hoặc Restaurant ConfirmDeletionOfThisPOSSale=Bạn có xác nhận việc xóa bán hàng hiện tại này không? ConfirmDiscardOfThisPOSSale=Bạn có muốn loại bỏ bán hàng hiện tại này? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=Trình duyệt BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/vi_VN/companies.lang b/htdocs/langs/vi_VN/companies.lang index 63225bdbd93..f5be2da418e 100644 --- a/htdocs/langs/vi_VN/companies.lang +++ b/htdocs/langs/vi_VN/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=Công ty "%s" đã xóa khỏi cơ sở dữ liệu. ListOfContacts=Danh sách liên lạc/địa chỉ ListOfContactsAddresses=Danh sách liên lạc/địa chỉ ListOfThirdParties=Danh sách các bên thứ ba -ShowCompany=Hiển thị bên thứ ba ShowContact=Hiện liên lạc ContactsAllShort=Tất cả (không lọc) ContactType=Loại liên lạc @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=Tên đại diện bán hàng SaleRepresentativeLastname=Họ của đại diện bán hàng ErrorThirdpartiesMerge=Có lỗi khi xóa các bên thứ ba. Vui lòng kiểm tra nhật ký. Những thay đổi đã được hoàn nguyên. NewCustomerSupplierCodeProposed=Mã khách hàng hoặc nhà cung cấp đã được sử dụng, một mã mới được đề xuất +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Loại thanh toán - Khách hàng PaymentTermsCustomer=Điều khoản thanh toán - Khách hàng diff --git a/htdocs/langs/vi_VN/compta.lang b/htdocs/langs/vi_VN/compta.lang index c6b810a1adb..7ac83c9969b 100644 --- a/htdocs/langs/vi_VN/compta.lang +++ b/htdocs/langs/vi_VN/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=Xem %s Phân tích thanh toán %s để biết tính SeeReportInDueDebtMode=Xem %s phân tích hóa đơn%s để biết cách tính toán dựa trên hóa đơn đã ghi ngay cả khi chúng chưa được hạch toán vào Sổ cái. SeeReportInBookkeepingMode=Xem %s Sổ sách báo cáo %s để biết tính toán trên bảng Sổ sách kế toán RulesAmountWithTaxIncluded=- Các khoản hiển thị là với tất cả các loại thuế bao gồm -RulesResultDue=- Nó bao gồm hóa đơn chưa thanh toán, chi phí, VAT, đóng góp cho dù chúng có được thanh toán hay không. Nó cũng bao gồm tiền lương được trả.
    - Nó được dựa trên ngày xác nhận của hóa đơn và VAT và vào ngày đáo hạn cho các chi phí. Đối với mức lương được xác định với mô-đun Lương, giá trị ngày thanh toán được sử dụng. +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- Nó bao gồm các khoản thanh toán thực tế được thực hiện trên hóa đơn, chi phí, VAT và tiền lương.
    - Nó dựa trên ngày thanh toán của hóa đơn, chi phí, VAT và tiền lương. Ngày quyên góp. -RulesCADue=- Nó bao gồm hóa đơn đáo hạn của khách hàng cho dù họ có được thanh toán hay không.
    - Nó được dựa trên ngày xác nhận của các hóa đơn này.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- Nó bao gồm tất cả các khoản thanh toán hiệu quả của hóa đơn nhận được từ khách hàng.
    - Nó được dựa trên ngày thanh toán của các hóa đơn này
    RulesCATotalSaleJournal=Nó bao gồm tất cả các hạn mức tín dụng từ nhật ký Bán hàng. RulesAmountOnInOutBookkeepingRecord=Nó bao gồm bản ghi trong Sổ cái của bạn với các tài khoản kế toán có nhóm "CHI PHÍ" hoặc "THU NHẬP" @@ -255,3 +255,10 @@ TurnoverbyVatrate=Doanh thu được lập hóa đơn theo thuế suất bán h TurnoverCollectedbyVatrate=Doanh thu được thu thập theo thuế suất bán hàng PurchasebyVatrate=Mua theo thuế suất bán hàng LabelToShow=Nhãn ngắn +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index 58d85ee7758..fb14daeeb4d 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=File không nhận được hoàn toàn bởi máy chủ. ErrorNoTmpDir=Directy tạm thời% s không tồn tại. ErrorUploadBlockedByAddon=Tải bị chặn bởi một plugin PHP / Apache. ErrorFileSizeTooLarge=Kích thước quá lớn. +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=Kích thước quá dài cho kiểu int (tối đa số% s) ErrorSizeTooLongForVarcharType=Kích thước quá dài cho kiểu chuỗi (ký tự tối đa% s) ErrorNoValueForSelectType=Xin vui lòng điền giá trị so với danh sách lựa chọn @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Tham số PHP của bạn upload_max_filesize (%s) cao hơn tham số PHP post_max_size (%s). Đây không phải là một thiết lập phù hợp. WarningPasswordSetWithNoAccount=Một mật khẩu đã được đặt cho thành viên này. Tuy nhiên, không có tài khoản người dùng nào được tạo. Vì vậy, mật khẩu này được lưu trữ nhưng không thể được sử dụng để đăng nhập vào Dolibarr. Nó có thể được sử dụng bởi một mô-đun / giao diện bên ngoài nhưng nếu bạn không cần xác định bất kỳ thông tin đăng nhập hay mật khẩu nào cho thành viên, bạn có thể tắt tùy chọn "Quản lý đăng nhập cho từng thành viên" từ thiết lập mô-đun Thành viên. Nếu bạn cần quản lý thông tin đăng nhập nhưng không cần bất kỳ mật khẩu nào, bạn có thể để trống trường này để tránh cảnh báo này. Lưu ý: Email cũng có thể được sử dụng làm thông tin đăng nhập nếu thành viên được liên kết với người dùng. diff --git a/htdocs/langs/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index 2a187d73221..2653ffb9df1 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=PHP này hỗ trợ Curl. PHPSupportCalendar=PHP này hỗ trợ các lịch phần mở rộng. PHPSupportUTF8=PHP này hỗ trợ các chức năng UTF8. PHPSupportIntl=PHP này hỗ trợ các chức năng Intl. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=PHP bộ nhớ phiên tối đa của bạn được thiết lập %s. Điều này là đủ. PHPMemoryTooLow=Bộ nhớ phiên tối đa PHP của bạn được đặt thành %s byte. Điều này là quá thấp. Thay đổi php.ini của bạn để đặt tham số memory_limit thành ít nhất %s byte. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=Cài đặt PHP của bạn không hỗ trợ Curl. ErrorPHPDoesNotSupportCalendar=Cài đặt PHP của bạn không hỗ trợ các phần mở rộng lịch php. ErrorPHPDoesNotSupportUTF8=Cài đặt PHP của bạn không hỗ trợ các chức năng UTF8. Dolibarr không thể hoạt động chính xác. Giải quyết điều này trước khi cài đặt Dolibarr. ErrorPHPDoesNotSupportIntl=Cài đặt PHP của bạn không hỗ trợ các chức năng Intl. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=Thư mục %s không tồn tại. ErrorGoBackAndCorrectParameters=Quay lại và kiểm tra / sửa các tham số. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=Ứng dụng đã cố gắng tự nâng cấp, n YouTryInstallDisabledByFileLock=Ứng dụng đã cố gắng tự nâng cấp, nhưng các trang cài đặt / nâng cấp đã bị vô hiệu hóa để bảo mật (bởi sự tồn tại của tệp khóa install.lock trong thư mục tài liệu dolibarr).
    ClickHereToGoToApp=Nhấn vào đây để đi đến ứng dụng của bạn ClickOnLinkOrRemoveManualy=Nhấp vào liên kết sau. Nếu bạn luôn thấy cùng trang này, bạn phải xóa / đổi tên tệp install.lock trong thư mục tài liệu. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/vi_VN/link.lang b/htdocs/langs/vi_VN/link.lang index d47c82a361d..bacbeaf98e2 100644 --- a/htdocs/langs/vi_VN/link.lang +++ b/htdocs/langs/vi_VN/link.lang @@ -8,3 +8,4 @@ LinkRemoved=Liên kết %s đã bị xóa ErrorFailedToDeleteLink= Không thể xóa liên kết ' %s ' ErrorFailedToUpdateLink= Không thể cập nhật liên kết ' %s ' URLToLink=URL để liên kết +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/vi_VN/mails.lang b/htdocs/langs/vi_VN/mails.lang index 7a8f92ec982..2ebdc7e1185 100644 --- a/htdocs/langs/vi_VN/mails.lang +++ b/htdocs/langs/vi_VN/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=Không có liên lạc/địa chỉ với một danh NoContactLinkedToThirdpartieWithCategoryFound=Không có liên lạc/địa chỉ với một danh mục được tìm thấy OutGoingEmailSetup=Thiết lập email đi InGoingEmailSetup=Thiết lập email đến -OutGoingEmailSetupForEmailing=Thiết lập email gửi đi (để gửi email hàng loạt) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=Thiết lập email gửi đi mặc định Information=Thông tin ContactsWithThirdpartyFilter=Danh bạ với bộ lọc của bên thứ ba diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index b8c2d319e12..ab5388d128d 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Lưu và ở lại SaveAndNew=Lưu và tạo mới TestConnection=Kiểm tra kết nối ToClone=Nhân bản +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Chọn dữ liệu bạn muốn sao chép: NoCloneOptionsSpecified=Không có dữ liệu nhân bản được xác định. Of=của @@ -829,6 +830,8 @@ Gender=Giới tính Genderman=Nam Genderwoman=Nữ ViewList=Danh sách xem +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=Bắt buộc Hello=Xin chào GoodBye=Tạm biệt @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/vi_VN/other.lang b/htdocs/langs/vi_VN/other.lang index b353e8230d4..bb29fddc9fe 100644 --- a/htdocs/langs/vi_VN/other.lang +++ b/htdocs/langs/vi_VN/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Đơn đặt hàng bán đã được xác nhận Notify_ORDER_SENTBYMAIL=Đơn đặt hàng bán được gửi email Notify_ORDER_SUPPLIER_SENTBYMAIL=Đơn đặt hàng mua được gửi qua email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=URL của trang WEBSITE_TITLE=Tiêu đề WEBSITE_DESCRIPTION=Mô tả WEBSITE_IMAGE=Hình ảnh -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=Từ khóa LinesToImport=Dòng để nhập diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index 5759b620e26..1e367dc6db9 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=Công cụ này cập nhật thuế suất VAT được MassBarcodeInit=Mass barcode init MassBarcodeInitDesc=Trang này có thể được sử dụng để khởi tạo một mã vạch trên các đối tượng mà không có mã vạch xác định. Kiểm tra xem trước đó thiết lập các mô-đun mã vạch hoàn tất chưa. ProductAccountancyBuyCode=Mã tài khoản kế toán (thu mua) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=Mã tài khoản kế toán (bán) ProductAccountancySellIntraCode=Mã tài khoản kế toán (bán nội bộ) ProductAccountancySellExportCode=Mã tài khoản kế toán (xuất khẩu) @@ -165,7 +167,7 @@ SuppliersPrices=Giá nhà cung cấp SuppliersPricesOfProductsOrServices=Giá nhà cung cấp (của sản phẩm hoặc dịch vụ) CustomCode=Hải quan / Hàng hóa / HS code CountryOrigin=Nước xuất xứ -Nature=Bản chất của sản phẩm (nguyên liệu/ thành phẩm) +Nature=Nature of product (material/finished) ShortLabel=Nhãn ngắn Unit=Đơn vị p=u. diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index de89d17291b..81bec314452 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=cái mà tôi liên kết với dự án Time=Thời gian ListOfTasks=Danh sách nhiệm vụ GoToListOfTimeConsumed=Tới danh sách thời gian tiêu thụ -GoToListOfTasks=Hiển thị dưới dạng danh sách -GoToGanttView=hiển thị dưới dạng Gantt GanttView=Chế độ xem Gantt ListProposalsAssociatedProject=Danh sách các đề xuất thương mại liên quan đến dự án ListOrdersAssociatedProject=Danh sách các đơn đặt hàng bán liên quan đến dự án @@ -188,7 +186,7 @@ PlannedWorkload=Khối lượng công việc dự tính PlannedWorkloadShort=Khối lượng công việc ProjectReferers=Những thứ có liên quan ProjectMustBeValidatedFirst=Dự án phải được xác nhận trước -FirstAddRessourceToAllocateTime=Chỉ định tài nguyên người dùng cho nhiệm vụ để phân bổ thời gian +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=Đầu vào mỗi ngày InputPerWeek=Đầu vào mỗi tuần InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=Dự án sửa đổi %s mới nhất OtherFilteredTasks=Các nhiệm vụ được lọc khác NoAssignedTasks=Không tìm thấy nhiệm vụ được giao (chỉ định dự án / nhiệm vụ cho người dùng hiện tại từ hộp chọn trên cùng để nhập thời gian vào nó) ThirdPartyRequiredToGenerateInvoice=Một bên thứ ba phải được xác định trong dự án để có thể lập hóa đơn. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Cho phép người dùng nhận xét về các nhiệm vụ AllowCommentOnProject=Cho phép người dùng nhận xét về các dự án @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=Hóa đơn mới OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/vi_VN/receiptprinter.lang b/htdocs/langs/vi_VN/receiptprinter.lang index a7bf9271929..1e516ff0f89 100644 --- a/htdocs/langs/vi_VN/receiptprinter.lang +++ b/htdocs/langs/vi_VN/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=Máy in giả CONNECTOR_NETWORK_PRINT=Máy in mạng CONNECTOR_FILE_PRINT=Máy in cục bộ CONNECTOR_WINDOWS_PRINT=Máy in Windows cục bộ +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=Máy in giả để kiểm tra, không làm gì cả CONNECTOR_NETWORK_PRINT_HELP=10.xxx:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=Hồ sơ mặc định PROFILE_SIMPLE=Hồ sơ đơn giản PROFILE_EPOSTEP=Hồ sơ Epose Tep @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=Hóa đơn tham chiếu +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=ID VAT Nội bộ Cộng đồng +DOL_VALUE_MYSOC_CAPITAL=Vốn +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/vi_VN/stripe.lang b/htdocs/langs/vi_VN/stripe.lang index 0e1d2c75412..5d18304fdef 100644 --- a/htdocs/langs/vi_VN/stripe.lang +++ b/htdocs/langs/vi_VN/stripe.lang @@ -32,6 +32,7 @@ VendorName=Tên nhà cung cấp CSSUrlForPaymentForm=CSS style sheet Url cho hình thức thanh toán NewStripePaymentReceived=Đã nhận thanh toán Stripe mới NewStripePaymentFailed=Thanh toán Stripe mới đã thử nhưng không thành công +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=Khóa kiểm tra bí mật STRIPE_TEST_PUBLISHABLE_KEY=Khóa kiểm tra có thể xuất bản STRIPE_TEST_WEBHOOK_KEY=Khóa kiểm tra webhook @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Liên kết để thiết lập Stripe WebHook để ToOfferALinkForLiveWebhook=Liên kết để thiết lập Stripe WebHook để gọi IPN (chế độ trực tiếp) PaymentWillBeRecordedForNextPeriod=Thanh toán sẽ được ghi lại cho giai đoạn tiếp theo. ClickHereToTryAgain=Bấm vào đây để thử lại... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/vi_VN/users.lang b/htdocs/langs/vi_VN/users.lang index 33e533443af..97c911d59d0 100644 --- a/htdocs/langs/vi_VN/users.lang +++ b/htdocs/langs/vi_VN/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=Người dùng và các tính chất của họ DomainUser=Domain người dùng %s Reactivate=Kích hoạt lại CreateInternalUserDesc=Biểu mẫu này cho phép bạn tạo một người dùng nội bộ trong công ty/ tổ chức của bạn. Để tạo người dùng bên ngoài (khách hàng, nhà cung cấp, v.v.), hãy sử dụng nút 'Tạo Người dùng Dolibarr' từ thẻ liên lạc của bên thứ ba đó. -InternalExternalDesc=Người dùng nội bộ là người dùng là một phần của công ty/ tổ chức của bạn.
    Một người dùng bên ngoài là một khách hàng, nhà cung cấp hoặc người khác.

    Trong cả hai trường hợp, quyền để phân quyền trên Dolibarr, người dùng bên ngoài cũng có thể có trình quản lý menu khác với người dùng nội bộ (Xem Trang chủ - Cài đặt - Hiển thị) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=Quyền được cấp bởi vì được thừa hưởng từ một trong những nhóm của người dùng. Inherited=Được thừa kế UserWillBeInternalUser=Người dùng tạo ra sẽ là một người dùng nội bộ (vì không liên kết với một bên thứ ba cụ thể) @@ -113,3 +113,5 @@ CantDisableYourself=Bạn không thể vô hiệu hóa hồ sơ người dùng c ForceUserExpenseValidator=Thúc phê duyệt báo cáo chi phí ForceUserHolidayValidator=Thúc phê duyệt báo cáo chi phí ValidatorIsSupervisorByDefault=Theo mặc định, việc xác nhận là người giám sát của người dùng. Giữ trống để giữ hành vi này. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/vi_VN/website.lang b/htdocs/langs/vi_VN/website.lang index 68db7fce100..6c3e12df2e3 100644 --- a/htdocs/langs/vi_VN/website.lang +++ b/htdocs/langs/vi_VN/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=Xem trang trong tab mới SetAsHomePage=Đặt làm trang chủ RealURL=URL thật ViewWebsiteInProduction=Xem trang web bằng URL nhà -SetHereVirtualHost=Sử dụng với Apache / NGinx / ...
    Nếu bạn có thể tạo, trên máy chủ web của bạn (Apache, Nginx, ...), Máy chủ ảo chuyên dụng có bật PHP và thư mục Root trên
    %s
    sau đó đặt tên của máy chủ ảo mà bạn đã tạo trong các thuộc tính của trang web, do đó, việc xem trước cũng có thể được thực hiện bằng cách sử dụng quyền truy cập máy chủ web chuyên dụng này thay vì máy chủ Dolibarr nội bộ. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Sử dụng với máy chủ nhúng PHP
    Trên môi trường phát triển, bạn có thể muốn kiểm tra trang web với máy chủ web nhúng PHP (yêu cầu PHP 5.5) bằng cách chạy
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Chạy trang web của bạn với một nhà cung cấp Dolibarr Hosting khác
    Nếu bạn không có máy chủ web như Apache hoặc NGinx có sẵn trên internet, bạn có thể xuất và nhập trang web của mình vào một phiên bản Dolibarr khác được cung cấp bởi một nhà cung cấp dịch vụ lưu trữ Dolibarr khác cung cấp tích hợp đầy đủ với mô-đun Trang web. Bạn có thể tìm thấy danh sách một số nhà cung cấp dịch vụ lưu trữ Dolibarr trên https://saas.dolibarr.org CheckVirtualHostPerms=Kiểm tra xem máy chủ ảo có quyền %s trên các tệp vào
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Xin lỗi, trang web này hiện đang tắt. Vui WEBSITE_USE_WEBSITE_ACCOUNTS=Kích hoạt bảng tài khoản trang web WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Cho phép bảng để lưu trữ tài khoản trang web (đăng nhập / mật khẩu) cho mỗi trang web / bên thứ ba YouMustDefineTheHomePage=Trước tiên bạn phải xác định Trang chủ mặc định -OnlyEditionOfSourceForGrabbedContentFuture=Cảnh báo: Tạo trang web bằng cách nhập trang web bên ngoài được dành riêng cho người dùng có kinh nghiệm. Tùy thuộc vào độ phức tạp của trang nguồn, kết quả nhập có thể khác với trang gốc. Ngoài ra, nếu trang nguồn sử dụng các kiểu CSS phổ biến hoặc javascript xung đột, nó có thể phá vỡ giao diện hoặc tính năng của trình chỉnh sửa Trang web khi làm việc trên trang này. Phương pháp này là một cách nhanh hơn để tạo một trang nhưng bạn nên tạo trang mới của mình từ đầu hoặc từ một mẫu trang được đề xuất.
    Cũng lưu ý rằng có thể chỉnh sửa nguồn HTML khi nội dung trang đã được khởi tạo bằng cách lấy nó từ một trang bên ngoài (trình chỉnh sửa "Trực tuyến" sẽ KHÔNG khả dụng) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=Chỉ có phiên bản nguồn HTML khi nội dung được lấy từ một trang bên ngoài GrabImagesInto=Lấy hình ảnh cũng được tìm thấy trong css và trang. ImagesShouldBeSavedInto=Hình ảnh nên được lưu vào thư mục @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=Để thực hành SEO tốt, hãy sử dụng văn b MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index 5afa44d00c2..1c4c03260c0 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the NoMaxSizeByPHPLimit=注:您的 PHP 配置参数中没有设置限制 MaxSizeForUploadedFiles=上传文件的最大尺寸(0表示不允许上传) UseCaptchaCode=登陆页面启用图形验证码 -AntiVirusCommand= 防毒命令的完整路径 -AntiVirusCommandExample= ClamWin 示例:c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    ClamAv 实例:/usr/bin/clamscan +AntiVirusCommand=防毒命令的完整路径 +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= 更多命令行参数 -AntiVirusParamExample= ClamWin的示例: - database =“C:\\ Program Files(x86)\\ ClamWin \\ lib” +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=会计模块设置 UserSetup=用户管理设置 MultiCurrencySetup=多币种设置 @@ -199,7 +199,7 @@ FeatureDisabledInDemo=功能在演示版中已禁用 FeatureAvailableOnlyOnStable=功能仅适用于官方稳定版本 BoxesDesc=资讯框是一些页面中显示信息的屏幕区域。你可以选择目标页面并点击“启用”或垃圾桶按钮来显示或禁用这些信息域。 OnlyActiveElementsAreShown=仅显示 已启用模块 的元素。 -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button (at end of module line) to enable/disable a module/application. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. ModulesMarketPlaceDesc=你能在外部互联网查找到并下载更多的功能模块... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=更多模块... @@ -212,6 +212,7 @@ CompatibleUpTo=与版本%s兼容 NotCompatible=此模块似乎与您的Dolibarr %s(Min %s - Max %s)不兼容。 CompatibleAfterUpdate=此模块需要更新Dolibarr %s(Min %s - Max %s)。 SeeInMarkerPlace=在市场上看到 +SeeSetupOfModule=参见模块设置 %s Updated=已更新 Nouveauté=新颖 AchatTelechargement=购买/下载 @@ -221,6 +222,7 @@ DoliPartnersDesc=List of companies providing custom-developed modules or feature WebSiteDesc=参考网址查找更多模块... DevelopYourModuleDesc=一些开发自己模块的解决方案...... URL=网址 +RelativeURL=Relative URL BoxesAvailable=插件可用 BoxesActivated=插件已启用 ActivateOn=启用 @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=不填表示使用默认值 DefaultLink=默认链接 SetAsDefault=设为默认 ValueOverwrittenByUserSetup=警告,此设置可能被用户设置所覆盖(用户可以设置各自的网络电话链接) -ExternalModule=附加模块 - 安装于 %s 目录下 +ExternalModule=External module +InstalledInto=Installed into directory %s BarcodeInitForthird-parties=Mass barcode init for third-parties BarcodeInitForProductsOrServices=产品或服务条码批量初始化或重置 CurrentlyNWithoutBarCode=目前,您在 %s %s上没有定义条形码时有 %s 记录。 @@ -947,7 +950,7 @@ DictionaryCanton=States/Provinces DictionaryRegion=地区 DictionaryCountry=国家 DictionaryCurrency=货币 -DictionaryCivility=Title of civility +DictionaryCivility=Honorific titles DictionaryActions=活动议程类型 DictionarySocialContributions=Types of social or fiscal taxes DictionaryVAT=增值税率和消费税率 @@ -988,6 +991,7 @@ VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for ca VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. ##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax LTRate=税率 LocalTax1IsNotUsed=不使用第二税率 LocalTax1IsUsedDesc=Use a second type of tax (other than first one) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices LocalTax2IsNotUsedDescES=默认情况下,建议IRPF为0。规则结束。 LocalTax2IsUsedExampleES=在西班牙,提供服务的自由职业者和独立专业人士以及选择模块税制的公司。 LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps des not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) CalcLocaltax=地税报表 CalcLocaltax1=销售 - 采购 CalcLocaltax1Desc=地税报表已经分别计算了在销售和采购时所产生的不同税。 @@ -1018,6 +1025,7 @@ CalcLocaltax2=采购 CalcLocaltax2Desc=地税报表是采购总计 CalcLocaltax3=销售 CalcLocaltax3Desc=地税报表是销售总计 +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax LabelUsedByDefault=如果代码没有翻译则默认使用以下标签 LabelOnDocuments=文档中的标签 LabelOrTranslationKey=Label or translation key @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s
    This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s

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

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=安全稽核事件 Audit=安全稽核 @@ -1128,7 +1136,7 @@ LogEventDesc=Enable logging for specific security events. Administrators the log AreaForAdminOnly=此功能仅供管理员用户 使用。 SystemInfoDesc=系统信息指以只读方式显示的其它技术信息,只对系统管理员可见。 SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of the company/entity. Click on "%s" button at the bottom of the page. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=Rules to generate and validate passwords DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page UsersSetup=用户模块设置 UserMailRequired=Email required to create a new user +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record ##### HRM setup ##### HRMSetup=人力资源管理模块设置 ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=发票文档模板 BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type PaymentsPDFModules=付款文件模型 ForceInvoiceDate=强制发票中的日期为确认日期 -SuggestedPaymentModesIfNotDefinedInInvoice=如果发票中未设置付款方式,设置一个默认值付款方式。 +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account SuggestPaymentByChequeToAddress=Suggest payment by check to FreeLegalTextOnInvoices=发票中的额外说明文本 @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=Vendor payments setup PropalSetup=报价单模块设置 ProposalsNumberingModules=报价单编号模块 ProposalsPDFModules=报价单文档模板 -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined for proposal +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal FreeLegalTextOnProposal=报价单中的额外说明文本 WatermarkOnDraftProposal=为商业计划书草案添加水印(无则留空) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=询问银行账户 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=要求仓库来源订购 ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=询问采购订单的银行帐户目的地 ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=订单编号模块 OrdersModelModule=订单文档模板 @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramatical ModuleActivated=Module %s is activated and slows the interface EXPORTS_SHARE_MODELS=Export models are share with everybody ExportSetup=Setup of module Export +ImportSetup=Setup of module Import InstanceUniqueID=Unique ID of the instance SmallerThan=Smaller than LargerThan=Larger than @@ -1979,5 +1991,7 @@ MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled EmailTemplate=Template for email EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some text title in your PDF duplicated in 2 different languages in the same generate PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets diff --git a/htdocs/langs/zh_CN/bills.lang b/htdocs/langs/zh_CN/bills.lang index 866a4c523d0..36bcc71b879 100644 --- a/htdocs/langs/zh_CN/bills.lang +++ b/htdocs/langs/zh_CN/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=Vendors invoices SupplierBill=Vendor invoice SupplierBills=供应商发票 Payment=付款 -PaymentBack=付款 -CustomerInvoicePaymentBack=付款 +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund Payments=付款 PaymentsBack=Refunds paymentInInvoiceCurrency=在发票货币 PaidBack=已退款 DeletePayment=删除付款 ConfirmDeletePayment=您确定要删除此付款吗? -ConfirmConvertToReduc=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an absolute discount? +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. SupplierPayments=Vendor payments ReceivedPayments=收到的付款 @@ -219,7 +219,10 @@ ShowInvoiceSituation=显示情况发票 UseSituationInvoices=Allow situation invoice UseSituationInvoicesCreditNote=Allow situation invoice credit note Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=To pay on %s toPayOn=to pay on %s RetainedWarranty=Retained Warranty @@ -509,11 +512,11 @@ ToMakePayment=支付 ToMakePaymentBack=支付 ListOfYourUnpaidInvoices=未付发票清单 NoteListOfYourUnpaidInvoices=注:此清单只包含链接到指派给您作为销售代表的合作方发票。 -RevenueStamp=印花税票 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party YouMustCreateStandardInvoiceFirstDesc=您必须先创建标准发票并将其转换为“模板”以创建新模板发票 -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template PDFCrevetteDescription=发票PDF模板Crevette。情况发票的完整发票模板 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 @@ -575,3 +578,4 @@ AutoFillDateTo=使用下一个发票日期设置服务项目的结束日期 AutoFillDateToShort=设置结束日期 MaxNumberOfGenerationReached=最大数量。到达 BILL_DELETEInDolibarr=发票已删除 +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted diff --git a/htdocs/langs/zh_CN/blockedlog.lang b/htdocs/langs/zh_CN/blockedlog.lang index 7b122b28452..ce7718f76c4 100644 --- a/htdocs/langs/zh_CN/blockedlog.lang +++ b/htdocs/langs/zh_CN/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unalterable logs ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this re after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. AddedByAuthority=Stored into remote authority diff --git a/htdocs/langs/zh_CN/cashdesk.lang b/htdocs/langs/zh_CN/cashdesk.lang index c2fd056546a..92be0b9ad8a 100644 --- a/htdocs/langs/zh_CN/cashdesk.lang +++ b/htdocs/langs/zh_CN/cashdesk.lang @@ -16,6 +16,7 @@ AddThisArticle=添加项目 RestartSelling=回去就卖 SellFinished=销售完成 PrintTicket=打印零售记录 +SendTicket=Send ticket NoProductFound=空空如也——没有找到项目 ProductFound=找到产品 NoArticle=没有项目 @@ -48,6 +49,7 @@ Footer=Footer AmountAtEndOfPeriod=Amount at end of period (day, month or year) TheoricalAmount=Theorical amount RealAmount=Real amount +CashFence=Cash fence CashFenceDone=Cash fence done for the period NbOfInvoices=发票数 Paymentnumpad=Type of Pad to enter payment @@ -58,8 +60,9 @@ TakeposNeedsCategories=TakePOS needs product categories to work OrderNotes=Order Notes CashDeskBankAccountFor=Default account to use for payments in NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets -AutoPrintTickets=Automatically print tickets +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? @@ -87,7 +90,19 @@ HeadBar=Head Bar SortProductField=Field for sorting products Browser=浏览器 BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. PrintMethod=Print method ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use payment icon on numpad +CashDeskRefNumberingModules=Numbering module for cash desk +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +ControlCashOpening=Control cash box at opening pos +CloseCashFence=Close cash fence +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/zh_CN/companies.lang b/htdocs/langs/zh_CN/companies.lang index 8f920f891d1..3491674f194 100644 --- a/htdocs/langs/zh_CN/companies.lang +++ b/htdocs/langs/zh_CN/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=公司“%的”从数据库中删除。 ListOfContacts=联系人列表 ListOfContactsAddresses=联系人列表 ListOfThirdParties=List of Third Parties -ShowCompany=Show Third Party ShowContact=显示联系人 ContactsAllShort=全部 (不筛选) ContactType=联系人类型 @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=销售代表的名字 SaleRepresentativeLastname=销售代表的姓氏 ErrorThirdpartiesMerge=删除第三方时出错。请检查日志。变更已被恢复。 NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=Payment Type - Customer PaymentTermsCustomer=Payment Terms - Customer diff --git a/htdocs/langs/zh_CN/compta.lang b/htdocs/langs/zh_CN/compta.lang index af8ca4a19e6..a861221bd87 100644 --- a/htdocs/langs/zh_CN/compta.lang +++ b/htdocs/langs/zh_CN/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=有关实际付款的计算,请参阅%s of payments SeeReportInDueDebtMode=请参阅%s对invoices%s的分析,以便根据已知的记录发票进行计算,即使它们尚未计入分类帐。 SeeReportInBookkeepingMode=有关簿记分类帐表的计算,请参阅 %sBookeeping report%s RulesAmountWithTaxIncluded=- 所示金额均含税 -RulesResultDue=- 它包括未付的发票,费用,增值税和捐款。还包括带薪工资。
    - 它基于发票和增值税的确认日期以及费用到期日。对于使用Salary模块定义的工资,使用付款的起息日期。 +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=- 它包括发票,费用,增值税和工资的实际付款。
    - 它基于发票,费用,增值税和工资的付款日期。捐赠的捐赠日期。 -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the validation date of these invoices.
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    RulesCATotalSaleJournal=它包括Sale日常报表中的所有信用额度。 RulesAmountOnInOutBookkeepingRecord=它包括在您的账目中记录具有“EXPENSE”或“INCOME”组的会计科目 @@ -255,3 +255,10 @@ TurnoverbyVatrate=营业税按销售税率开具 TurnoverCollectedbyVatrate=按销售税率收取的营业额 PurchasebyVatrate=按销售税率购买 LabelToShow=标签别名 +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index 2205f13963c..ba3f2328466 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=文件未收到了完全由服务器。 ErrorNoTmpDir=临时的说明书%s不存在。 ErrorUploadBlockedByAddon=上传封锁一个PHP / Apache的插件。 ErrorFileSizeTooLarge=文件大小是太大。 +ErrorFieldTooLong=Field %s is too long. ErrorSizeTooLongForIntType=尺寸int类型的长(%s最大位数) ErrorSizeTooLongForVarcharType=尺寸长字符串类型(%s字符最大) ErrorNoValueForSelectType=请填写选取列表值 @@ -234,7 +235,8 @@ ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated pa ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningPasswordSetWithNoAccount=为此成员设置了密码。但是,未创建任何用户帐户。因此,此密码已存储,但无法用于登录Dolibarr。它可以由外部模块/接口使用,但如果您不需要为成员定义任何登录名或密码,则可以从成员模块设置中禁用“管理每个成员的登录名”选项。如果您需要管理登录但不需要任何密码,则可以将此字段保留为空以避免此警告。注意:如果成员链接到用户,则电子邮件也可用作登录。 diff --git a/htdocs/langs/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index a45a7907320..49e1a98b5d8 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=This PHP supports Curl. PHPSupportCalendar=This PHP supports calendars extensions. PHPSupportUTF8=This PHP supports UTF8 functions. PHPSupportIntl=This PHP supports Intl functions. +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=This PHP supports %s functions. PHPMemoryOK=您的PHP最大session会话内存设置为%s。这应该够了的。 PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=你的PHP服务器不支持Curl。 ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorDirDoesNotExists=目录 %s 不存在。 ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the in YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    ClickHereToGoToApp=点击此处转到您的申请 ClickOnLinkOrRemoveManualy=Click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/zh_CN/link.lang b/htdocs/langs/zh_CN/link.lang index 390f4fcaf81..3c715594202 100644 --- a/htdocs/langs/zh_CN/link.lang +++ b/htdocs/langs/zh_CN/link.lang @@ -8,3 +8,4 @@ LinkRemoved=链接 %s 已移除 ErrorFailedToDeleteLink= 移除链接失败 '%s' ErrorFailedToUpdateLink= 更新链接失败 '%s' URLToLink=URL网址超链接 +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/zh_CN/mails.lang b/htdocs/langs/zh_CN/mails.lang index bada6e2d7be..127a61c350d 100644 --- a/htdocs/langs/zh_CN/mails.lang +++ b/htdocs/langs/zh_CN/mails.lang @@ -164,7 +164,7 @@ NoContactWithCategoryFound=分类没有联系人/地址 NoContactLinkedToThirdpartieWithCategoryFound=分类没有联系人/地址 OutGoingEmailSetup=发件服务器设置 InGoingEmailSetup=传入电子邮件设置 -OutGoingEmailSetupForEmailing=外发电子邮件设置(用于群发电子邮件) +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) DefaultOutgoingEmailSetup=默认外发电子邮件设置 Information=信息 ContactsWithThirdpartyFilter=Contacts with third-party filter diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index 63080052051..7fd64d81418 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -174,6 +174,7 @@ SaveAndStay=Save and stay SaveAndNew=Save and new TestConnection=测试连接 ToClone=复制 +ConfirmCloneAsk=Are you sure you want to clone the object %s? ConfirmClone=Choose data you want to clone: NoCloneOptionsSpecified=未定义可复制数据 Of=的 @@ -829,6 +830,8 @@ Gender=性别 Genderman=男人 Genderwoman=女人 ViewList=列表视图 +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=强制性 Hello=你好 GoodBye=再见 @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=Select your graph options to build a graph Measures=Measures XAxis=X-Axis YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/zh_CN/other.lang b/htdocs/langs/zh_CN/other.lang index 1d4465eb6fd..c966cf74cde 100644 --- a/htdocs/langs/zh_CN/other.lang +++ b/htdocs/langs/zh_CN/other.lang @@ -34,7 +34,7 @@ GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mo OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=页面URL地址 WEBSITE_TITLE=标题 WEBSITE_DESCRIPTION=描述 WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITEKEY__ in the path if path depends on website name. +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_KEYWORDS=关键字 LinesToImport=要导入的行 diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index 1726d77971c..54bafe71412 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL MassBarcodeInit=批量条码初始化 MassBarcodeInitDesc=此页面可用于初始化未定义条形码的对象上的条形码。在模块条形码设置完成之前检查。 ProductAccountancyBuyCode=科目代码(采购) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=科目代码(销售) ProductAccountancySellIntraCode=Accounting code (sale intra-Community) ProductAccountancySellExportCode=科目代码(销售导出) @@ -165,7 +167,7 @@ SuppliersPrices=供应商价格 SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) CustomCode=海关/商品/ HS编码 CountryOrigin=产地国 -Nature=Nature of produt (material/finished) +Nature=Nature of product (material/finished) ShortLabel=标签别名 Unit=单位 p=u. diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 477b06658ca..e797f15a346 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=which I'm linked to project Time=时间 ListOfTasks=任务列表 GoToListOfTimeConsumed=转到消耗的时间列表 -GoToListOfTasks=Show as list -GoToGanttView=show as Gantt GanttView=甘特视图 ListProposalsAssociatedProject=List of the commercial proposals related to the project ListOrdersAssociatedProject=List of sales orders related to the project @@ -188,7 +186,7 @@ PlannedWorkload=计划的工作量 PlannedWorkloadShort=工作量 ProjectReferers=关联物料 ProjectMustBeValidatedFirst=项目首先必须认证 -FirstAddRessourceToAllocateTime=将用户资源分配给任务以分配时间 +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=输入天数 InputPerWeek=输入周数 InputPerMonth=Input per month @@ -240,6 +238,7 @@ LatestModifiedProjects=最新的%s编辑过的项目 OtherFilteredTasks=其他过滤任务 NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=允许用户对任务发表评论 AllowCommentOnProject=允许用户对项目发表评论 @@ -265,3 +264,4 @@ InvoiceToUse=Draft invoice to use NewInvoice=新建发票 OneLinePerTask=One line per task OneLinePerPeriod=One line per period +RefTaskParent=Ref. Parent Task diff --git a/htdocs/langs/zh_CN/receiptprinter.lang b/htdocs/langs/zh_CN/receiptprinter.lang index d475890c290..f52af233aac 100644 --- a/htdocs/langs/zh_CN/receiptprinter.lang +++ b/htdocs/langs/zh_CN/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=虚拟打印机 CONNECTOR_NETWORK_PRINT=网络打印机 CONNECTOR_FILE_PRINT=本地打印机 CONNECTOR_WINDOWS_PRINT=本地Windows打印机 +CONNECTOR_CUPS_PRINT=Cups Printer CONNECTOR_DUMMY_HELP=伪造测试打印,啥也不做的 CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L PROFILE_DEFAULT=默认配置 PROFILE_SIMPLE=简单配置 PROFILE_EPOSTEP=Epos Tep配置 @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=Invoice month in letters DOL_VALUE_MONTH=Invoice month DOL_VALUE_DAY=Invoice day DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=发票号 +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=Intra-Community VAT ID +DOL_VALUE_MYSOC_CAPITAL=注册资金 +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/zh_CN/stripe.lang b/htdocs/langs/zh_CN/stripe.lang index 3ed146a77a1..31131a72634 100644 --- a/htdocs/langs/zh_CN/stripe.lang +++ b/htdocs/langs/zh_CN/stripe.lang @@ -32,6 +32,7 @@ VendorName=供应商名称 CSSUrlForPaymentForm=付款方式的CSS样式表的URL NewStripePaymentReceived=收到新Stripe付款 NewStripePaymentFailed=新Stripe付款尝试但失败了 +FailedToChargeCard=Failed to charge card STRIPE_TEST_SECRET_KEY=秘密测试密钥 STRIPE_TEST_PUBLISHABLE_KEY=可发布的测试密钥 STRIPE_TEST_WEBHOOK_KEY=Webhook测试密钥 @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mo ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authenticatin rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/zh_CN/users.lang b/htdocs/langs/zh_CN/users.lang index 366bb926d9e..d84917431eb 100644 --- a/htdocs/langs/zh_CN/users.lang +++ b/htdocs/langs/zh_CN/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=用户及属性 DomainUser=域用户%s Reactivate=重新激活 CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor 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) +InternalExternalDesc=An internal user is a user that is part of your company/organization.
    An external user is a customer, vendor or other (Creating an external user for a third-party can be done from the contact record of the third-party).

    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=因为从权限授予一个用户的一组继承。 Inherited=遗传 UserWillBeInternalUser=创建的用户将是一个内部用户(因为没有联系到一个特定的合伙人) @@ -110,3 +110,8 @@ UserLogged=用户登录 DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/zh_CN/website.lang b/htdocs/langs/zh_CN/website.lang index 3ec26dc1c61..bf972ed8656 100644 --- a/htdocs/langs/zh_CN/website.lang +++ b/htdocs/langs/zh_CN/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=在新标签页查看页面 SetAsHomePage=设为首页 RealURL=真实URL地址 ViewWebsiteInProduction=使用主页URL网址查看网页 -SetHereVirtualHost=Use with Apache/NGinx/...
    If you can create, on your web server (Apache, Nginx, ...), a dedicated Virtual Host with PHP enabled and a Root directory on
    %s
    then set the name of the virtual host you have created in the properties of web site, so the preview can be done also using this dedicated web server access instead of the internal Dolibarr server. +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org CheckVirtualHostPerms=还要检查虚拟主机是否有权限 %s 将文件转换为
    %s @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please WEBSITE_USE_WEBSITE_ACCOUNTS=启用网站帐户表 WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party YouMustDefineTheHomePage=您必须先定义默认主页 -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that edits of HTML source will be possible when page content has been initialized by grabbing it from an external page ("Online" editor will NOT be available) +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. OnlyEditionOfSourceForGrabbedContent=当从外部站点获取内容时,只能使用HTML源代码 GrabImagesInto=抓住发现到css和页面的图像。 ImagesShouldBeSavedInto=图像应保存到目录中 @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 ch MainLanguage=Main language OtherLanguages=Other languages UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index bfb5d3c2862..d91885d1812 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -54,8 +54,8 @@ SetupArea=設定 UploadNewTemplate=上傳新的範本 FormToTestFileUploadForm=用於測試檔案上傳的表格(根據設定) IfModuleEnabled=註:若模組%s啓用時,「是的」有效。 -RemoveLock=如果存在%s,刪除/重命名文件,以允許使用更新/安裝工具。 -RestoreLock=以唯讀權限還原檔案%s ,以禁止進一步使用更新/安裝工具。 +RemoveLock=如果存在%s檔案,刪除/重新命名文件以允許使用更新/安裝工具。 +RestoreLock=還原檔案唯讀權限檔案%s ,以禁止使用更新/安裝工具。 SecuritySetup=安全設定 SecurityFilesDesc=在此定義上傳檔案相關的安全設定。 ErrorModuleRequirePHPVersion=錯誤,這個模組需要的PHP版本是 %s 或更高版本 @@ -98,10 +98,10 @@ MustBeLowerThanPHPLimit=注意: 您的 PHP設定目前限制了上傳 NoMaxSizeByPHPLimit=註:你的 PHP 偏好設定為無限制 MaxSizeForUploadedFiles=上傳檔案最大值(0 為禁止上傳) UseCaptchaCode=在登入頁中的使用圖形碼 (CAPTCHA) -AntiVirusCommand= 防毒命令的完整路徑 -AntiVirusCommandExample= 例如 ClamWin 為 c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    例如 ClamAv 為 /usr/bin/clamscan +AntiVirusCommand=防毒命令的完整路徑 +AntiVirusCommandExample=ClamAv Daemon 的範例(需要 clamav-daemon): / usr / bin / clamdscan
    ClamWin的範例(非常慢): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe AntiVirusParam= 在命令列中更多的參數 -AntiVirusParamExample= 例如 ClamWin 為 --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=ClamAv Daemon 範例: --fdpass
    ClamWin的範例: --database="C:\\Program Files (x86)\\ClamWin\\lib" ComptaSetup=會計模組設定 UserSetup=用戶管理設定 MultiCurrencySetup=多國幣別設定 @@ -199,7 +199,7 @@ FeatureDisabledInDemo=DEMO模式下已禁用功能 FeatureAvailableOnlyOnStable=在官方穩定版本中可用的功能 BoxesDesc=小工具是顯示一些訊息的元件,您可以增加這些訊息來個性化某些頁面。通過選擇目標頁面並點擊“啟用”,或點擊垃圾桶將其禁用,可以選擇顯示小工具或是不顯示小工具。 OnlyActiveElementsAreShown=僅顯示已啟用模組中的元件。 -ModulesDesc=模組/應用程式確定軟體中可用的功能。某些模組需要在啟用模組後授予用戶權限。點擊開啟/關閉按鈕(在模組行的末尾)以啟用/禁用模組/應用程式。 +ModulesDesc=模組/應用程式决定軟體中可用的功能。某些模組需要在啟用模組後授予用戶權限。點擊開啟/關閉按鈕%s以啟用/禁用模組/應用程式。 ModulesMarketPlaceDesc=您可在外部網站中找到更多可下載的模組... ModulesDeployDesc=如果檔案系統權限允許,則可以使用此工具部署外部模組。然後,該模組將在分頁%s上顯示。 ModulesMarketPlaces=找外部 app / 模組 @@ -212,6 +212,7 @@ CompatibleUpTo=與版本%s相容 NotCompatible=此模組似乎不相容您 Dolibarr %s (適用最低版本 %s - 最高版本 %s)。 CompatibleAfterUpdate=此模組需要升級您的 Dolibarr %s (最低版本%s -最高版本 %s)。 SeeInMarkerPlace=在市場可以看到 +SeeSetupOfModule=請參閱模組%s的設定 Updated=升級 Nouveauté=新奇 AchatTelechargement=購買 / 下載 @@ -221,6 +222,7 @@ DoliPartnersDesc=提供訂製開發的模組或功能的公司清單。
    注 WebSiteDesc=外部網站以獲取更多附加(非核心)模組... DevelopYourModuleDesc=一些開發自己模組的解決方案... URL=網址 +RelativeURL=關聯網址 BoxesAvailable=可用小工具 BoxesActivated=小工具已啟用 ActivateOn=啟用 @@ -330,7 +332,7 @@ InfDirAlt=從第3版起,可定義替代根資料夾。此允許您儲存到指 InfDirExample=
    conf.php 檔案宣告
    $dolibarr_main_url_root_alt='/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    若這幾行已用"#"方式註解了,啟用他,也就是移除 "#"。 YouCanSubmitFile=您可以從此處上傳模組的.zip檔案: CurrentVersion=Dolibarr 目前版本 -CallUpdatePage=瀏覽更新資料庫結構和資料的頁面:%s。 +CallUpdatePage=瀏覽升級資料庫結構和資料的頁面:%s。 LastStableVersion=最新穩定版本 LastActivationDate=最新啟動日期 LastActivationAuthor=最新啟動的作者 @@ -446,7 +448,8 @@ KeepEmptyToUseDefault=保留為空白以使用預設值 DefaultLink=預設連結 SetAsDefault=設為預設值 ValueOverwrittenByUserSetup=警告,此值可能會被用戶特定的設定覆蓋(每個用戶都可以設定自己的clicktodial網址) -ExternalModule=外部模組 - 已安裝到資料夾 %s +ExternalModule=外部模組 +InstalledInto=已安裝到 %s 資料夾 BarcodeInitForthird-parties=合作方的批次條碼初始化 BarcodeInitForProductsOrServices=批次條碼初始化或產品或服務重置 CurrentlyNWithoutBarCode=目前您在沒有條碼%s%s中有%s的記錄。 @@ -947,7 +950,7 @@ DictionaryCanton=州/省 DictionaryRegion=地區 DictionaryCountry=國家 DictionaryCurrency=幣別 -DictionaryCivility=文明頭銜 +DictionaryCivility=榮譽稱號 DictionaryActions=行程事件類型 DictionarySocialContributions=社會稅或財政稅類型 DictionaryVAT=營業稅率或銷售稅率 @@ -988,6 +991,7 @@ VATIsNotUsedDesc=預設情況下,建議的營業稅為0,可用於諸如協 VATIsUsedExampleFR=在法國,這表示擁有真實財務系統(簡化的真實貨幣或正常真實貨幣)的公司或組織。申報營業稅的系統。 VATIsNotUsedExampleFR=在法國,它表示非宣告營業稅的協會,或者選擇微型企業財務系統(特許經營營業稅)並繳納特許經營營業稅的公司,組織或自由職業者,而無需任何營業稅申報。此選擇將在發票上顯示參考“不適用的營業稅-CGI的art-293B”。 ##### Local Taxes ##### +TypeOfSaleTaxes=銷售稅類型 LTRate=稅率 LocalTax1IsNotUsed=不使用第二種稅率 LocalTax1IsUsedDesc=使用第二種稅種(第一類除外) @@ -1011,6 +1015,9 @@ LocalTax2IsUsedDescES=建立潛在客戶,發票,訂單等時,預設情況 LocalTax2IsNotUsedDescES=預設情況下,建議的IRPF為0。規則結束。 LocalTax2IsUsedExampleES=在西班牙,自由職業者及提供服務的專業人士及選擇稅務系統模組的公司。 LocalTax2IsNotUsedExampleES=在西班牙,它們是不受模組稅制約束的企業。 +RevenueStampDesc=“稅票”或“收入票”是每張發票的固定稅額(與發票金額無關)。稅額也可以是百分比稅,但是使用第二種或第三種類型的稅對百分比稅更好,因為稅票不提供任何報告。只有極少數國家/地區使用此類稅種。 +UseRevenueStamp=使用印花稅 +UseRevenueStampExample=稅票的預設值在字典設置中定義(%s-%s-%s) CalcLocaltax=地方稅收報告 CalcLocaltax1=銷售 - 採購 CalcLocaltax1Desc=地方稅收報告是根據地方稅銷售與地方稅採購之間的差額計算得出的 @@ -1018,6 +1025,7 @@ CalcLocaltax2=採購 CalcLocaltax2Desc=地方稅收報告是地方稅採購的總額 CalcLocaltax3=銷售 CalcLocaltax3Desc=地方稅收報告是地方稅銷售總額 +NoLocalTaxXForThisCountry=根據稅收設置(請參閱%s-%s-%s),您所在的國家不需要使用此類稅種 LabelUsedByDefault=若代號沒有找翻譯字句,則使用預設標籤 LabelOnDocuments=文件標籤 LabelOrTranslationKey=標籤或翻譯秘鑰 @@ -1108,8 +1116,8 @@ Delays_MAIN_DELAY_EXPENSEREPORTS=費用報表批准 Delays_MAIN_DELAY_HOLIDAYS=休假申請批准 SetupDescription1=在開始使用Dolibarr之前,必須定義一些初始參數並啟用/設定模組。 SetupDescription2=以下兩個部分是必需的(“設定”選單中的前兩個項目): -SetupDescription3=%s -> %s
    應用軟體中預設行為,其基本參數是可以客製化的(例如:與國家相關的功能)。 -SetupDescription4=%s-> %s
    此軟體是許多模組/應用程式的套件,或多或少是獨立的。必須啟用和設定與您需求相關的模組。隨著模組的啟動,新項目/選項會增加到選單中。 +SetupDescription3=  %s-> %s

    用於自訂您應用程式默認行為的基本參數(例如 跟國家相關的功能)。 +SetupDescription4=  %s-> %s

    此軟件是許多模塊/應用程序的套件。必須啟用和配置與您的需求相關的模塊。這些模塊的激活將顯示菜單條目。 SetupDescription5=其他設定選單項目管理可選參數。 LogEvents=安全稽核事件 Audit=稽核 @@ -1128,7 +1136,7 @@ LogEventDesc=啟用特定安全事件的日誌記錄。通過選單%s-%s來管理員進行設定。 SystemInfoDesc=僅供系統管理員以唯讀及可見模式取得系統資訊。 SystemAreaForAdminOnly=此區域僅管理員可用。 Dolibarr用戶權限無法更改此限制。 -CompanyFundationDesc=編輯公司/項目的資訊。點擊頁面底部的“ %s”按鈕。 +CompanyFundationDesc=編輯您的 公司/組織 資訊。完成後,點擊頁面底部的“ %s”按鈕。 AccountantDesc=如果您有外部會計師/簿記員,則可以在此處編輯其資訊。 AccountantFileNumber=會計代碼 DisplayDesc=可以在此處修改影響Dolibarr外觀和行為的參數。 @@ -1264,6 +1272,8 @@ RuleForGeneratedPasswords=產生和驗證密碼的規則 DisableForgetPasswordLinkOnLogonPage=不要在登入頁面顯示“忘記密碼”連結 UsersSetup=用戶模組設定 UserMailRequired=建立新用戶需要電子郵件 +UsersDocModules=文件模板給從使用者紀錄生成的文件 +GroupsDocModules=文件模板給從群組紀錄生成的文件 ##### HRM setup ##### HRMSetup=人資模組設定 ##### Company setup ##### @@ -1295,7 +1305,7 @@ BillsPDFModules=發票文件模型 BillsPDFModulesAccordindToInvoiceType=根據發票類型的發票文件模型 PaymentsPDFModules=付款文件模型 ForceInvoiceDate=強制使用驗證日期為發票日期 -SuggestedPaymentModesIfNotDefinedInInvoice=未定義付款方式發票的預設建議付款方式 +SuggestedPaymentModesIfNotDefinedInInvoice=未定義付款方式發票的預設付款方式 SuggestPaymentByRIBOnAccount=建議以帳戶匯款付款 SuggestPaymentByChequeToAddress=建議以支票付款給 FreeLegalTextOnInvoices=在發票中加註文字 @@ -1307,7 +1317,7 @@ SupplierPaymentSetup=供應商付款設定 PropalSetup=商業提案/建議書模組設定 ProposalsNumberingModules=商業提案/建議書編號模型 ProposalsPDFModules=商業提案/建議書文件模型 -SuggestedPaymentModesIfNotDefinedInProposal=未定義付款方式商業提案/建議書的預設建議付款方式 +SuggestedPaymentModesIfNotDefinedInProposal=預設提案付款方式 FreeLegalTextOnProposal=在商業提案/建議書中加註文字 WatermarkOnDraftProposal=商業提案/建議書草稿上的浮水印(若空白則無) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=詢問提案/建議書的目地的銀行帳戶 @@ -1322,6 +1332,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=詢問訂單的倉庫來源 ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=詢問供應商訂單中目的地銀行帳戶 ##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=未定義付款方式發票的預設付款方式 OrdersSetup=銷售訂單管理設定 OrdersNumberingModules=訂單編號模組 OrdersModelModule=訂單文件模型 @@ -1959,6 +1970,7 @@ WarningValueHigherSlowsDramaticalyOutput=警告,較高的值會嚴重降低輸 ModuleActivated=模組%s已啟動並顯示於界面上 EXPORTS_SHARE_MODELS=匯出模組功能可分享此模組給所有人 ExportSetup=模組匯出設定 +ImportSetup=模組匯入設定 InstanceUniqueID=實例的唯一ID SmallerThan=小於 LargerThan=大於 @@ -1979,5 +1991,7 @@ MakeAnonymousPing=對Dolibarr基金會服務器進行匿名Ping'+1'(僅在安 FeatureNotAvailableWithReceptionModule=啟用接收模組後,此功能不可用 EmailTemplate=電子郵件模板 EMailsWillHaveMessageID=電子郵件將具有與此語法匹配的標籤“參考” -PDF_USE_ALSO_LANGUAGE_CODE=如果要在同一個產生的PDF中以兩種不同的語言複製PDF中的某些文字標題,則必須在此處設置第二種語言,這樣產生的PDF將在同一頁面中包含兩種不同的語言,一種是在產生PDF時選擇的語言,另一種是此種語言(只有少數PDF模板支持此功能)。每個PDF一種語言則保留為空。 +PDF_USE_ALSO_LANGUAGE_CODE=如果您要在生成同一的PDF中以兩種不同的語言複製一些文字,則必須在此處設置第二種語言讓生成的PDF在同一頁中包含兩種不同的語言,選擇的可以用來生成PDF跟另一種語言(只有少數PDF模板支援此功能)。PDF只有一種語言則留空。 FafaIconSocialNetworksDesc=在此處輸入FontAwesome圖示的代碼。如果您不知道什麼是FontAwesome,則可以使用通用值fa-address-book。 +RssNote=注意:每個RSS feed定義都提供一個小部件,您必須啟用該小部件才能使其在儀表板中看到 +JumpToBoxes=跳至設定 -> 小部件 diff --git a/htdocs/langs/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index 35563bc4664..08639a1d3d1 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -58,17 +58,17 @@ SuppliersInvoices=供應商發票 SupplierBill=供應商發票 SupplierBills=供應商發票 Payment=付款 -PaymentBack=還款 -CustomerInvoicePaymentBack=還款 +PaymentBack=退款 +CustomerInvoicePaymentBack=退款 Payments=付款 PaymentsBack=退回付款 paymentInInvoiceCurrency=發票幣別 PaidBack=退款 DeletePayment=刪除付款 ConfirmDeletePayment=您確定要刪除此付款? -ConfirmConvertToReduc=您是否要將%s轉換為絕對折扣? +ConfirmConvertToReduc=您是否要將%s轉換為可用信用? ConfirmConvertToReduc2=此金額將保存在所有折扣中,並可用作此客戶目前或未來發票的折扣。 -ConfirmConvertToReducSupplier=您是否要將%s轉換為絕對折扣? +ConfirmConvertToReducSupplier=您是否要將%s轉換為可用信用? ConfirmConvertToReducSupplier2=此金額將保存在所有折扣中,並可用作此供應商目前或未來發票的折扣。 SupplierPayments=供應商付款 ReceivedPayments=收到付款 @@ -219,7 +219,10 @@ ShowInvoiceSituation=顯示發票狀況 UseSituationInvoices=允許發票狀況 UseSituationInvoicesCreditNote=允許發票狀況信用票據(折讓單-credit notes) Retainedwarranty=有保修 +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices RetainedwarrantyDefaultPercent=有保修預設百分比 +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation ToPayOn=支付%s toPayOn=支付%s RetainedWarranty=保修 @@ -509,7 +512,7 @@ ToMakePayment=付款 ToMakePaymentBack=退還款項 ListOfYourUnpaidInvoices=未付款發票清單 NoteListOfYourUnpaidInvoices=注意:此列表僅包含被您連接的銷售代表合作方發票。 -RevenueStamp=印花稅 +RevenueStamp=Tax stamp YouMustCreateInvoiceFromThird=僅當從合作方的“客戶”標籤建立發票時,此選項才可使用 YouMustCreateInvoiceFromSupplierThird=僅當從合作方的“供應商”標籤建立發票時,此選項才可用 YouMustCreateStandardInvoiceFirstDesc=您必須先建立標準發票,然後將其轉換為“範本”才能建立新的發票範本 @@ -575,3 +578,4 @@ AutoFillDateTo=設定服務行的結束日期為下一個發票日期 AutoFillDateToShort=設定結束日期 MaxNumberOfGenerationReached=已達到最大產生數目 BILL_DELETEInDolibarr=發票已刪除 +BILL_SUPPLIER_DELETEInDolibarr=供應商發票已刪除 diff --git a/htdocs/langs/zh_TW/blockedlog.lang b/htdocs/langs/zh_TW/blockedlog.lang index 73993af78d0..98a1bcf5d5c 100644 --- a/htdocs/langs/zh_TW/blockedlog.lang +++ b/htdocs/langs/zh_TW/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=不可更改的日誌 ShowAllFingerPrintsMightBeTooLong=顯示所有存檔的日誌(可能很長) ShowAllFingerPrintsErrorsMightBeTooLong=顯示所有無效的歸檔日誌(可能很長) DownloadBlockChain=下載指紋 -KoCheckFingerprintValidity=歸檔的日誌條目無效。這意味著某人(黑客?)在記錄此記錄後已修改了該記錄的某些數據,或者已刪除了先前的存檔記錄(檢查是否存在具有先前#號的行)。 +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). OkCheckFingerprintValidity=歸檔日誌記錄有效。此行上的數據未修改,並且該條目位於上一個條目之後。 OkCheckFingerprintValidityButChainIsKo=與以前的日誌相比,已歸檔的日誌似乎有效,但是先前的鏈已損壞。 AddedByAuthority=已儲存到遠端授權中 diff --git a/htdocs/langs/zh_TW/cashdesk.lang b/htdocs/langs/zh_TW/cashdesk.lang index 3c7f249c9d2..b91ab4d9243 100644 --- a/htdocs/langs/zh_TW/cashdesk.lang +++ b/htdocs/langs/zh_TW/cashdesk.lang @@ -15,23 +15,24 @@ NewSell=新銷售 AddThisArticle=加入此文章 RestartSelling=回到銷售 SellFinished=銷售完成 -PrintTicket=列印服務單 -NoProductFound=沒有找到文章 +PrintTicket=列印銷售單 +SendTicket=送出銷售單 +NoProductFound=未找到文章 ProductFound=找到產品 -NoArticle=沒有文章 +NoArticle=無文章 Identification=證明 Article=文章 Difference=差異 -TotalTicket=全部服務單 +TotalTicket=全部銷售單 NoVAT=此銷售沒有營業稅 -Change=收到過多 +Change=超額已收到 BankToPay=付款帳戶 ShowCompany=顯示公司 ShowStock=顯示倉庫 DeleteArticle=點擊刪除此文章 FilterRefOrLabelOrBC=搜索(參考/標籤) -UserNeedPermissionToEditStockToUsePos=您要求減少發票建立中的庫存,因此使用POS的用戶需要具有編輯庫存的權限。 -DolibarrReceiptPrinter=Dolibarr收據印表機 +UserNeedPermissionToEditStockToUsePos=您要求減少由發票建立的庫存,所以使用POS的使用者需要具有編輯庫存的權限。 +DolibarrReceiptPrinter=Dolibarr 收據印表機 PointOfSale=銷售點 PointOfSaleShort=POS CloseBill=結帳 @@ -45,21 +46,23 @@ SearchProduct=搜尋商品 Receipt=收據 Header=頁首 Footer=頁尾 -AmountAtEndOfPeriod=期末金額(天,月或年) +AmountAtEndOfPeriod=結束的金額(天,月或年) TheoricalAmount=理論金額 RealAmount=實際金額 +CashFence=Cash fence CashFenceDone=本期現金圍欄完成 NbOfInvoices=發票數 Paymentnumpad=輸入付款的便籤類型 Numberspad=號碼便籤 BillsCoinsPad=硬幣和紙幣便籤 DolistorePosCategory=用於Dolibarr的TakePOS模組與其他POS解決方案 -TakeposNeedsCategories=TakePOS需要產品類別才能使用 +TakeposNeedsCategories=TakePOS 需要產品類別才能使用 OrderNotes=訂購須知 CashDeskBankAccountFor=用於付款的預設帳戶 -NoPaimementModesDefined=在TakePOS設定中未定義付款方式 -TicketVatGrouped=在服務單中依營業稅率分組 -AutoPrintTickets=自動列印服務單 +NoPaimementModesDefined=在 TakePOS 設定中未定義付款方式 +TicketVatGrouped=按銷售單中的費率合計營業稅 +AutoPrintTickets=自動列印銷售單|收據 +PrintCustomerOnReceipts=列印客戶在銷售單收據上 EnableBarOrRestaurantFeatures=啟用酒吧或餐廳的功能 ConfirmDeletionOfThisPOSSale=您確認刪除目前銷售嗎? ConfirmDiscardOfThisPOSSale=您是否要放棄目前銷售? @@ -67,27 +70,39 @@ History=歷史紀錄 ValidateAndClose=驗證並關閉 Terminal=終端機 NumberOfTerminals=終端機數 -TerminalSelect=選擇您要使用的站台: -POSTicket=POS服務單 -POSTerminal=POS終端機 -POSModule=POS模組 +TerminalSelect=選擇您要使用的終端機: +POSTicket=POS 銷售單 +POSTerminal=POS 終端機 +POSModule=POS 模組 BasicPhoneLayout=在手機上使用基本佈局 -SetupOfTerminalNotComplete=站台%s的設定未完成 +SetupOfTerminalNotComplete=終端機%s的設定尚未完成 DirectPayment=直接付款 DirectPaymentButton=直接現金付款按鈕 InvoiceIsAlreadyValidated=發票已通過驗證 NoLinesToBill=無計費項目 -CustomReceipt=自定義收據 +CustomReceipt=自訂收據 ReceiptName=收據名稱 ProductSupplements=產品補充 SupplementCategory=補充品類別 ColorTheme=顏色主題 Colorful=彩色 HeadBar=標題欄 -SortProductField=Field for sorting products +SortProductField=產品分類欄位 Browser=瀏覽器 -BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from de cloud. -PrintMethod=Print method -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. Cannot print from the cloud. -ByTerminal=By terminal +BrowserMethodDescription=簡易列印收據。僅需幾個參數即可設定收據。通過瀏覽器打印。 +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. +PrintMethod=列印方式 +ReceiptPrinterMethodDescription=具有很多參數的強大方法。完全可定制的模板。無法從雲端列印。 +ByTerminal=依照站台 +TakeposNumpadUsePaymentIcon=在數字鍵上使用付款圖示 +CashDeskRefNumberingModules=收銀台編號模組 +CashDeskGenericMaskCodes6 =
    {TN} 標籤用於增加站台 +TakeposGroupSameProduct=群組相同產品線 +StartAParallelSale=開啟新的平行銷售 +ControlCashOpening=打開銷售點時控制收銀機 +CloseCashFence=關閉現金圍籬 +CashReport=現金報告 +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use diff --git a/htdocs/langs/zh_TW/companies.lang b/htdocs/langs/zh_TW/companies.lang index 7920527ed13..6cfc559ea43 100644 --- a/htdocs/langs/zh_TW/companies.lang +++ b/htdocs/langs/zh_TW/companies.lang @@ -325,7 +325,6 @@ CompanyDeleted=已從資料庫中刪除“%s”公司。 ListOfContacts=通訊錄/地址清單 ListOfContactsAddresses=通訊錄/地址清單 ListOfThirdParties=合作方清單 -ShowCompany=顯示合作方 ShowContact=顯示連絡人 ContactsAllShort=全部(不過濾) ContactType=連絡型式 @@ -447,6 +446,7 @@ SaleRepresentativeFirstname=業務代表的名字 SaleRepresentativeLastname=業務代表的姓氏 ErrorThirdpartiesMerge=刪除合作方時發生錯誤。請檢查日誌。原變更已被回復。 NewCustomerSupplierCodeProposed=客戶或供應商代碼已使用,已建議新代碼 +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address #Imports PaymentTypeCustomer=付款方式-客戶 PaymentTermsCustomer=付款條件-客戶 diff --git a/htdocs/langs/zh_TW/compta.lang b/htdocs/langs/zh_TW/compta.lang index cfe4c56d496..a60f23bb772 100644 --- a/htdocs/langs/zh_TW/compta.lang +++ b/htdocs/langs/zh_TW/compta.lang @@ -157,9 +157,9 @@ SeeReportInInputOutputMode=有關實際付款(即使尚未在分類帳中實際 SeeReportInDueDebtMode=有關基於已記錄發票(即使尚未在分類帳中進行核算)的計算,請參閱%s發票分析%s。 SeeReportInBookkeepingMode=請參閱%s簿記報告%s了解關於簿記分類帳表的計算 RulesAmountWithTaxIncluded=-顯示的金額包括所有稅費 -RulesResultDue=-包括未結發票,費用,營業稅,捐贈(無論是否付款)。還包括帶薪工資。
    -它基於發票和營業稅的確認日期以及費用的到期日。對於使用“工資”模組定義的工資,將使用付款的起算日。 +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. RulesResultInOut=-它包括發票,費用,營業稅和薪水的實際付款。
    -它基於發票,費用,營業稅和薪水的付款日期。捐贈的捐贈日期。 -RulesCADue=-它包括客戶無論是否已付款的到期發票。
    -它基於這些發票的生效日期。
    +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    RulesCAIn=-包括從客戶收到的所有有效發票付款。
    -此基於這些發票的付款日期
    RulesCATotalSaleJournal=它包括“銷售”日記帳中的所有信用額度。 RulesAmountOnInOutBookkeepingRecord=它包括分類帳中具有“ 費用”或“ 收入”組的會計帳戶中的記錄 @@ -255,3 +255,10 @@ TurnoverbyVatrate=依營業稅率開票的營業額 TurnoverCollectedbyVatrate=依營業稅率收取的營業額 PurchasebyVatrate=依銷售購買稅率 LabelToShow=短標籤 +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index 1a413cdd581..5f3c373da1c 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -59,6 +59,7 @@ ErrorPartialFile=伺服器未完整的收到檔案。 ErrorNoTmpDir=臨時指示%s不存在。 ErrorUploadBlockedByAddon=PHP / Apache的插件已阻擋上傳。 ErrorFileSizeTooLarge=檔案太大。 +ErrorFieldTooLong=欄位%s太長。 ErrorSizeTooLongForIntType=位數超過int類型(最大位數%s) ErrorSizeTooLongForVarcharType=位數超過字串類型(最大位數%s) ErrorNoValueForSelectType=請填寫所選清單的值 @@ -96,7 +97,7 @@ ErrorBadMaskFailedToLocatePosOfSequence=錯誤,遮罩沒有序列號 ErrorBadMaskBadRazMonth=錯誤,不好的重置值 ErrorMaxNumberReachForThisMask=已達到此遮罩的最大數量 ErrorCounterMustHaveMoreThan3Digits=計數器必須超過3位數字 -ErrorSelectAtLeastOne=Error, select at least one entry. +ErrorSelectAtLeastOne=錯誤,請至少選擇一項。 ErrorDeleteNotPossibleLineIsConsolidated=無法刪除,因為記錄連結到已調解的銀行交易 ErrorProdIdAlreadyExist=%s已被分配到另一個合作方 ErrorFailedToSendPassword=無法傳送密碼 @@ -117,8 +118,8 @@ ErrorLoginDoesNotExists=找不到登入名稱%s的用戶。 ErrorLoginHasNoEmail=這位用戶沒有電子郵件地址。程序中止。 ErrorBadValueForCode=安全代碼有錯誤的值。請嘗試新的值... ErrorBothFieldCantBeNegative=欄位%s和%s不能都為負值 -ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. -ErrorLinesCantBeNegativeForOneVATRate=Total of lines can't be negative for a given VAT rate. +ErrorFieldCantBeNegativeOnInvoice=此類型的發票欄位 %s 不能為負。如果您需要增加折扣行,只需先建立折扣(從合作方卡中的欄位“ %s”開始)並將其使用於發票。 +ErrorLinesCantBeNegativeForOneVATRate=對於給定的營業稅率,行總數不能為負。 ErrorLinesCantBeNegativeOnDeposits=存款中的行數不能為負。如果您需要在最終發票中消耗定金,會遇到問題。 ErrorQtyForCustomerInvoiceCantBeNegative=客戶發票行的數量不能為負值 ErrorWebServerUserHasNotPermission=用戶帳戶%s沒有權限用來執行網頁伺服器 @@ -229,12 +230,13 @@ ErrorFieldRequiredForProduct=產品%s必須有欄位'%s' ProblemIsInSetupOfTerminal=問題在於站台%s的設定。 ErrorAddAtLeastOneLineFirst=請先至少增加一行 ErrorRecordAlreadyInAccountingDeletionNotPossible=錯誤,記錄已在會計中轉移,無法刪除。 -ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. -ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. -ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". -ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't user it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=錯誤,如果將頁面設定為另一頁面的翻譯,則語言為必填項目。 +ErrorLanguageOfTranslatedPageIsSameThanThisPage=錯誤,翻譯頁面的語言與此相同。 +ErrorBatchNoFoundForProductInWarehouse=在倉庫“ %s”中找不到產品“ %s”的批次/序列。 +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=倉庫“ %s”中產品“ %s”的此批次/序列沒有足夠的數量。 +ErrorOnlyOneFieldForGroupByIsPossible=“群組依據”只能使用1個欄位(其他欄位則被丟棄) +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=您的PHP參數upload_max_filesize(%s)高於PHP參數post_max_size(%s)。這不是相同的設定。 WarningPasswordSetWithNoAccount=為此會員設定了密碼。但是,沒有建立用戶帳戶。因此,雖然密碼已儲存,但不能用於登入Dolibarr。外部模組/界面可以使用它,但是如果您不需要為會員定義任何登入名稱或密碼,則可以從會員模組設定中禁用選項“管理每個會員的登入名稱”。如果您需要管理登入名稱但不需要任何密碼,則可以將此欄位保留為空白以避免此警告。注意:如果會員連結到用戶,電子郵件也可以用作登入名稱。 diff --git a/htdocs/langs/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index 12a86f20e15..2c284ef7fd7 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -16,6 +16,7 @@ PHPSupportCurl=此PHP支援Curl。 PHPSupportCalendar=此PHP支援日曆外掛。 PHPSupportUTF8=此PHP支援UTF8函數。 PHPSupportIntl=此PHP支援Intl函數。 +PHPSupportxDebug=This PHP supports extended debug functions. PHPSupport=此PHP支援%s函數。 PHPMemoryOK=您的PHP最大session記憶體設定為%s 。這應該足夠了。 PHPMemoryTooLow=您的PHP最大session記憶體為%sbytes。這太低了。更改您的php.ini,以將記憶體限制/b>參數設定為至少%sbytes。 @@ -26,6 +27,7 @@ ErrorPHPDoesNotSupportCurl=您的PHP安裝不支援Curl。 ErrorPHPDoesNotSupportCalendar=您的PHP安裝不支援php日曆外掛。 ErrorPHPDoesNotSupportUTF8=您的PHP安裝不支援UTF8函數。 Dolibarr無法正常工作。必須在安裝Dolibarr之前修復此問題。 ErrorPHPDoesNotSupportIntl=您的PHP安裝不支援Intl函數。 +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. ErrorPHPDoesNotSupport=您的PHP安裝不支援%s函數。 ErrorDirDoesNotExists=資料夾%s不存在。 ErrorGoBackAndCorrectParameters=返回並檢查/更正參數。 @@ -217,3 +219,5 @@ YouTryInstallDisabledByDirLock=該應用程式嘗試進行自我升級,但是 YouTryInstallDisabledByFileLock=此應用程式嘗試進行自我升級,但是出於安全性考慮,已禁用了安裝/升級頁面(由於dolibarr檔案資料夾中存在鎖定文件install.lock )。
    ClickHereToGoToApp=點擊此處前往您的應用程式 ClickOnLinkOrRemoveManualy=點擊以下連結。如果始終看到同一頁面,則必須在檔案資料夾中刪除/重命名檔案install.lock。 +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/zh_TW/link.lang b/htdocs/langs/zh_TW/link.lang index eaf82ee5cf6..23949b86a29 100644 --- a/htdocs/langs/zh_TW/link.lang +++ b/htdocs/langs/zh_TW/link.lang @@ -8,3 +8,4 @@ LinkRemoved=此連線%s已被刪除 ErrorFailedToDeleteLink= 無法刪除連線“ %s ” ErrorFailedToUpdateLink= 無法更新連線' %s' URLToLink=連線網址 +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/zh_TW/mails.lang b/htdocs/langs/zh_TW/mails.lang index fc28e885056..dbcd1715b72 100644 --- a/htdocs/langs/zh_TW/mails.lang +++ b/htdocs/langs/zh_TW/mails.lang @@ -1,170 +1,170 @@ # Dolibarr language file - Source file is en_US - mails Mailing=發送電子郵件 -EMailing=發送電子郵件 -EMailings=EMailings -AllEMailings=所有eMailings -MailCard=通過電子郵件發送卡 +EMailing=電子郵件 +EMailings=電子郵件 +AllEMailings=所有電子郵件 +MailCard=電子郵件卡片 MailRecipients=收件人 MailRecipient=收件人 MailTitle=描述 MailFrom=寄件人 -MailErrorsTo=誤差的 -MailReply=回復 +MailErrorsTo=錯誤收件箱 +MailReply=回覆 MailTo=收件人 -MailToUsers=給用戶 +MailToUsers=發送給用戶 MailCC=副本 -MailToCCUsers=複製到用戶 -MailCCC=緩存副本 +MailToCCUsers=CC +MailCCC=CCC MailTopic=電子郵件主題 MailText=郵件內容 MailFile=附加檔案 -MailMessage=電子郵件正文 +MailMessage=電子郵件內容 SubjectNotIn=不在主題中 -BodyNotIn=Not in Body +BodyNotIn=不在內容中 ShowEMailing=顯示電子郵件 -ListOfEMailings=名單emailings +ListOfEMailings=電子郵件清單 NewMailing=新電子郵件 EditMailing=編輯電子郵件 ResetMailing=重新發送電子郵件 DeleteMailing=刪除電子郵件 DeleteAMailing=刪除一個電子郵件 PreviewMailing=預覽電子郵件 -CreateMailing=創建電子郵件 -TestMailing=測試的電子郵件 +CreateMailing=建立電子郵件 +TestMailing=測試電子郵件 ValidMailing=有效的電子郵件 MailingStatusDraft=草案 -MailingStatusValidated=驗證 +MailingStatusValidated=已驗證 MailingStatusSent=發送 -MailingStatusSentPartialy=發送部分 -MailingStatusSentCompletely=發送完全 +MailingStatusSentPartialy=部分發送 +MailingStatusSentCompletely=完全發送 MailingStatusError=錯誤 MailingStatusNotSent=不發送 -MailSuccessfulySent=Email (from %s to %s) successfully accepted for delivery -MailingSuccessfullyValidated=EMailing successfully validated +MailSuccessfulySent=已成功接收電子郵件(從%s到%s) +MailingSuccessfullyValidated=電子郵件成功驗證 MailUnsubcribe=退訂 MailingStatusNotContact=不要再聯繫 MailingStatusReadAndUnsubscribe=讀取和退訂 ErrorMailRecipientIsEmpty=電子郵件收件人是空的 -WarningNoEMailsAdded=沒有新的電子郵件添加到收件人的名單。 +WarningNoEMailsAdded=沒有新的電子郵件可增加到收件人清單。 ConfirmValidMailing=您確定要驗證此電子郵件嗎? -ConfirmResetMailing=Warning, by re-initializing emailing %s, you will allow the re-sending this email in a bulk mailing. Are you sure you want to do this? +ConfirmResetMailing=警告,通過重新初始化電子郵件%s ,您可以批次發送此電子郵件。你確定要這麼做嗎? ConfirmDeleteMailing=您確定要刪除此電子郵件嗎? -NbOfUniqueEMails=不重複的電子郵件數 +NbOfUniqueEMails=獨特電子郵件的數量 NbOfEMails=電子郵件數量 -TotalNbOfDistinctRecipients=受助人數目明顯 -NoTargetYet=受助人還沒有確定(走吧標簽'收件人') -NoRecipientEmail=沒有有關%s收件人的電子郵件 +TotalNbOfDistinctRecipients=不重複收件人數量 +NoTargetYet=尚未定義收件人(在“收件人”分頁上) +NoRecipientEmail=沒有有關收件人%s的電子郵件 RemoveRecipient=刪除收件人 -YouCanAddYourOwnPredefindedListHere=要創建您的電子郵件選擇模塊,見htdocs中/包括/模塊/郵寄/自述文件。 -EMailTestSubstitutionReplacedByGenericValues=當使用測試模式,替換變量的值取代通用 +YouCanAddYourOwnPredefindedListHere=要建立您的電子郵件選擇器模組,請參閱htdocs/core/modules/mailings/README。 +EMailTestSubstitutionReplacedByGenericValues=使用測試模式時,替換變數將替換為通用值 MailingAddFile=附加這個文件 NoAttachedFiles=沒有附加檔案 -BadEMail=Bad value for Email +BadEMail=電子郵件地址不正確 ConfirmCloneEMailing=您確定要複製此電子郵件嗎? -CloneContent=克隆消息 -CloneReceivers=克隆者 +CloneContent=複製訊息 +CloneReceivers=複製收件人 DateLastSend=最新發送的日期 DateSending=發送日期 SentTo=發送到%s -MailingStatusRead=閱讀 -YourMailUnsubcribeOK=The email %s is correctly unsubscribe from mailing list -ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubscribe" feature -EMailSentToNRecipients=Email sent to %s recipients. -EMailSentForNElements=Email sent for %s elements. -XTargetsAdded=%s recipients added into target list -OnlyPDFattachmentSupported=If the PDF documents were already generated for the objects to send, they will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachments in mass sending in this version). -AllRecipientSelected=The recipients of the %s record selected (if their email is known). -GroupEmails=Group emails -OneEmailPerRecipient=One email per recipient (by default, one email per record selected) -WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them. -ResultOfMailSending=Result of mass Email sending -NbSelected=Number selected -NbIgnored=Number ignored -NbSent=Number sent -SentXXXmessages=%s message(s) sent. -ConfirmUnvalidateEmailing=Are you sure you want to change email %s to draft status? -MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters -MailingModuleDescContactsByCompanyCategory=Contacts by third-party category -MailingModuleDescContactsByCategory=Contacts by categories -MailingModuleDescContactsByFunction=Contacts by position -MailingModuleDescEmailsFromFile=Emails from file -MailingModuleDescEmailsFromUser=Emails input by user -MailingModuleDescDolibarrUsers=Users with Emails -MailingModuleDescThirdPartiesByCategories=Third parties (by categories) -SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed. +MailingStatusRead=讀取 +YourMailUnsubcribeOK=電子郵件%s已正確從郵件清單中退訂 +ActivateCheckReadKey=用於“讀取回條”和“取消訂閱”功能的加密網址密鑰 +EMailSentToNRecipients=電子郵件已發送給%s收件人。 +EMailSentForNElements=已發送有關%s元件的電子郵件。 +XTargetsAdded=%s收件人已增加到目標清單 +OnlyPDFattachmentSupported=如果已經為要發送的項目產生了PDF文件,它們將被附加到電子郵件中。否則,將不會發送電子郵件(也請注意,在此版本的批次發送中,僅支援pdf文件作為附件)。 +AllRecipientSelected=已選擇%s記錄的收件人(如果知道他們的電子郵件)。 +GroupEmails=群組電子郵件 +OneEmailPerRecipient=每位收件人一封電子郵件(預設情況下,每條記錄選擇一封電子郵件) +WarningIfYouCheckOneRecipientPerEmail=警告,如果選中此框,則意味著將為選定的多個不同記錄發送一封電子郵件,因此,如果您的訊息包含引用記錄資料的替換變數,則無法替換它們。 +ResultOfMailSending=批次電子郵件發送的結果 +NbSelected=已選擇數量 +NbIgnored=已忽略數量 +NbSent=已發送數量 +SentXXXmessages=已發送%s訊息 +ConfirmUnvalidateEmailing=您確定要將電子郵件%s更改為草稿狀態嗎? +MailingModuleDescContactsWithThirdpartyFilter=有客戶過濾器的聯絡人 +MailingModuleDescContactsByCompanyCategory=合作方類別的聯絡人 +MailingModuleDescContactsByCategory=依類別聯絡 +MailingModuleDescContactsByFunction=依職位聯絡 +MailingModuleDescEmailsFromFile=來自檔案的電子郵件 +MailingModuleDescEmailsFromUser=用戶輸入的電子郵件 +MailingModuleDescDolibarrUsers=擁有電子郵件的用戶 +MailingModuleDescThirdPartiesByCategories=合作方(依類別) +SendingFromWebInterfaceIsNotAllowed=不允許從Web界面發送。 # Libelle des modules de liste de destinataires mailing -LineInFile=在文件%s的線 -RecipientSelectionModules=為收件人的選擇定義的要求 -MailSelectedRecipients=選擇收件人 -MailingArea=EMailings區 -LastMailings=Latest %s emailings -TargetsStatistics=統計指標 -NbOfCompaniesContacts=公司獨特的接觸 -MailNoChangePossible=為驗證電子郵件收件人無法改變 +LineInFile=在檔案%s的行 +RecipientSelectionModules=已定義收件人的選擇要求 +MailSelectedRecipients=已選擇收件人 +MailingArea=電子郵件區域 +LastMailings=最新%s的電子郵件 +TargetsStatistics=目標統計 +NbOfCompaniesContacts=獨特的聯絡人/地址 +MailNoChangePossible=已驗證電子郵件的收件人無法更改 SearchAMailing=搜尋郵件 -SendMailing=發送電子郵件 -SentBy=發送 -MailingNeedCommand=Sending an emailing can be performed from command line. Ask your server administrator to launch the following command to send the emailing to all recipients: -MailingNeedCommand2=但是您可以發送到網上,加入與最大的電子郵件數量值參數MAILING_LIMIT_SENDBYWEB你要發送的會議。 -ConfirmSendingEmailing=If you want to send emailing directly from this screen, please confirm you are sure you want to send emailing now from your browser ? -LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. -TargetsReset=清除名單 -ToClearAllRecipientsClickHere=點擊這裏以清除此電子郵件的收件人列表 -ToAddRecipientsChooseHere=添加從名單中選擇收件人 -NbOfEMailingsReceived=收到群眾emailings -NbOfEMailingsSend=Mass emailings sent -IdRecord=編號記錄 -DeliveryReceipt=Delivery Ack. +SendMailing=發送郵件 +SentBy=寄件人 +MailingNeedCommand=可以從命令行發送電子郵件。請您的伺服器管理員啟動以下命令,以將電子郵件發送給所有收件人: +MailingNeedCommand2=您可以透過增加MAILING_LIMIT_SENDBYWEB參數並設定每次程序中可發送最大電子郵件數量以在線發送。啟動此功能,請前往首頁-設定-其他。 +ConfirmSendingEmailing=如果要直接從此畫面發送電子郵件,請確認您確定要立即從瀏覽器發送電子郵件嗎? +LimitSendingEmailing=注意:出於安全性和超時的原因,從Web界面多次進行發送電子郵件已完成,每次發送程序皆一個收件人%s 。 +TargetsReset=清除清單 +ToClearAllRecipientsClickHere=點擊這裏以清除此電子郵件的收件人清單 +ToAddRecipientsChooseHere=從清單中增加收件人 +NbOfEMailingsReceived=收到大量電子郵件 +NbOfEMailingsSend=已發送批次電子郵件 +IdRecord=ID記錄 +DeliveryReceipt=已讀取回條。 YouCanUseCommaSeparatorForSeveralRecipients=您可以使用逗號來指定多個收件人。 -TagCheckMail=Track mail opening -TagUnsubscribe=Unsubscribe link -TagSignature=Signature of sending user -EMailRecipient=Recipient Email -TagMailtoEmail=Recipient Email (including html "mailto:" link) -NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. +TagCheckMail=追蹤郵件讀取 +TagUnsubscribe=取消訂閱連結 +TagSignature=發送用戶的簽名 +EMailRecipient=收件人電子郵件 +TagMailtoEmail=收件人電子郵件(包括html“ mailto:”連結) +NoEmailSentBadSenderOrRecipientEmail=沒有發送電子郵件。寄件人或收件人的電子郵件不正確。驗證用戶資料。 # Module Notifications Notifications=通知 -NoNotificationsWillBeSent=沒有電子郵件通知此事件的計劃和公司 -ANotificationsWillBeSent=1通知將通過電子郵件發送 +NoNotificationsWillBeSent=沒有為此事件和公司計畫的電子郵件通知 +ANotificationsWillBeSent=1個通知將通過電子郵件發送 SomeNotificationsWillBeSent=%s的通知將通過電子郵件發送 -AddNewNotification=Activate a new email notification target/event -ListOfActiveNotifications=List all active targets/events for email notification +AddNewNotification=啟動新的電子郵件通知目標/事件 +ListOfActiveNotifications=列出所有活動目標/事件以進行電子郵件通知 ListOfNotificationsDone=列出所有發送電子郵件通知 -MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. -MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. -MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. -YouCanAlsoUseSupervisorKeyword=You can also add the keyword __SUPERVISOREMAIL__ to have email being sent to the supervisor of user (works only if an email is defined for this supervisor) -NbOfTargetedContacts=Current number of targeted contact emails -UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other -UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other -MailAdvTargetRecipients=Recipients (advanced selection) -AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target -AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima% will target all jean, joe, start with jim but not jimo and not everything that starts with jima -AdvTgtSearchIntHelp=Use interval to select int or float value -AdvTgtMinVal=Minimum value -AdvTgtMaxVal=Maximum value -AdvTgtSearchDtHelp=Use interval to select date value -AdvTgtStartDt=Start dt. -AdvTgtEndDt=End dt. -AdvTgtTypeOfIncudeHelp=Target Email of third party and email of contact of the third party, or just third-party email or just contact email -AdvTgtTypeOfIncude=Type of targeted email -AdvTgtContactHelp=Use only if you target contact into "Type of targeted email" -AddAll=Add all -RemoveAll=Remove all -ItemsCount=Item(s) -AdvTgtNameTemplate=Filter name -AdvTgtAddContact=Add emails according to criteria -AdvTgtLoadFilter=Load filter -AdvTgtDeleteFilter=Delete filter -AdvTgtSaveFilter=Save filter -AdvTgtCreateFilter=Create filter -AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found -OutGoingEmailSetup=Outgoing email setup -InGoingEmailSetup=Incoming email setup -OutGoingEmailSetupForEmailing=Outgoing email setup (for mass emailing) -DefaultOutgoingEmailSetup=Default outgoing email setup +MailSendSetupIs=電子郵件發送的設定已設定為“ %s”。此模式不能用於發送批次電子郵件。 +MailSendSetupIs2=您必須先使用管理員帳戶進入選單%s首頁-設定-EMails%s以將參數'%s'更改為使用模式 '%s'。使用此模式 ,您可以輸入Internet服務供應商提供的SMTP伺服器的設定,並使用批次電子郵件功能。 +MailSendSetupIs3=如果對如何設定SMTP伺服器有任何疑問,可以詢問%s。 +YouCanAlsoUseSupervisorKeyword=您還可以增加關鍵字__SUPERVISOREMAIL__以將電子郵件發送給用戶的主管(僅在為此主管定義了電子郵件的情況下有效) +NbOfTargetedContacts=目前目標聯絡人電子郵件的數量 +UseFormatFileEmailToTarget=匯入檔案的格式必須為電子郵件; 姓;名;其他 +UseFormatInputEmailToTarget=輸入字串格式為電子郵件; 姓;名;其他 +MailAdvTargetRecipients=收件人(進階選項) +AdvTgtTitle=填寫輸入欄位以預先選擇合作方或聯絡人/地址 +AdvTgtSearchTextHelp=使用%%作為通用字元。例如,要尋找像是jean,joe,jim的所有項目,可以輸入 j%% ,也可以使用;作為數值的分隔字元,並使用!排除此值。例如 jean;joe;jim%%;!jimo;!jima% 將會指向所有沒有jimo與所有以jima開始的jean,joe +AdvTgtSearchIntHelp=使用空格選擇整數或浮點值 +AdvTgtMinVal=最小值 +AdvTgtMaxVal=最大值 +AdvTgtSearchDtHelp=使用空白選擇日期值 +AdvTgtStartDt=開始目標。 +AdvTgtEndDt=結束目標。 +AdvTgtTypeOfIncudeHelp=合作方的目標電子郵件與合作方的聯絡人電子郵件,或僅合作方電子郵件或僅聯絡人電子郵件 +AdvTgtTypeOfIncude=目標電子郵件類型 +AdvTgtContactHelp=僅用於您將聯絡人定位為“目標電子郵件類型”時使用 +AddAll=全部加入 +RemoveAll=移除全部 +ItemsCount=項目 +AdvTgtNameTemplate=過濾器名稱 +AdvTgtAddContact=根據條件加入電子郵件 +AdvTgtLoadFilter=載入過濾器 +AdvTgtDeleteFilter=刪除過濾器 +AdvTgtSaveFilter=儲存過濾器 +AdvTgtCreateFilter=建立過濾器 +AdvTgtOrCreateNewFilter=新過濾器名稱 +NoContactWithCategoryFound=找不到具有類別的聯絡人/地址 +NoContactLinkedToThirdpartieWithCategoryFound=找不到具有類別的聯絡人/地址 +OutGoingEmailSetup=發送電子郵件設定 +InGoingEmailSetup=接收電子郵件設定 +OutGoingEmailSetupForEmailing=Outgoing email setup (for module %s) +DefaultOutgoingEmailSetup=預設發送電子郵件設定 Information=資訊 -ContactsWithThirdpartyFilter=Contacts with third-party filter +ContactsWithThirdpartyFilter=帶有合作方過濾器的聯絡人 diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index b7bf557b6a8..bf598fad411 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -174,6 +174,7 @@ SaveAndStay=儲存並留下 SaveAndNew=儲存並新增 TestConnection=測試連線 ToClone=複製 +ConfirmCloneAsk=您確定要複製物件 %s? ConfirmClone=選擇您要複製的數據: NoCloneOptionsSpecified=沒有已定義要複製的資料。 Of=的 @@ -829,6 +830,8 @@ Gender=性別 Genderman=男 Genderwoman=女 ViewList=檢視清單 +ViewGantt=Gantt view +ViewKanban=Kanban view Mandatory=必要 Hello=哈囉 GoodBye=再見 @@ -1022,3 +1025,6 @@ SelectYourGraphOptionsFirst=選擇您的圖形選項以建立圖形 Measures=措施 XAxis=X軸 YAxis=Y軸 +StatusOfRefMustBe= %s 的狀態必須是 %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? diff --git a/htdocs/langs/zh_TW/other.lang b/htdocs/langs/zh_TW/other.lang index 23bb161f5bd..316388ffb1b 100644 --- a/htdocs/langs/zh_TW/other.lang +++ b/htdocs/langs/zh_TW/other.lang @@ -30,11 +30,11 @@ PreviousYearOfInvoice=發票日期的上一年 NextYearOfInvoice=發票日期的下一年 DateNextInvoiceBeforeGen=下一張發票的日期(產生前) DateNextInvoiceAfterGen=下一張發票的日期(產生後) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. +GraphInBarsAreLimitedToNMeasures=於“ Bars”模式下,圖形被限制於%s小段。自動選擇了“行”模式。 OnlyOneFieldForXAxisIsPossible=目前只能將1個欄位用作X軸。僅選擇了第一個選定欄位。 AtLeastOneMeasureIsRequired=至少需要1個測量欄位 AtLeastOneXAxisIsRequired=X軸至少需要1個欄位 - +LatestBlogPosts=Latest Blog Posts Notify_ORDER_VALIDATE=銷售訂單已驗證 Notify_ORDER_SENTBYMAIL=使用郵件寄送的銷售訂單 Notify_ORDER_SUPPLIER_SENTBYMAIL=使用電子郵件寄送的採購訂單 @@ -274,7 +274,7 @@ WEBSITE_PAGEURL=頁面網址 WEBSITE_TITLE=標題 WEBSITE_DESCRIPTION=描述 WEBSITE_IMAGE=圖片 -WEBSITE_IMAGEDesc=影像媒體的相對路徑。您可以將其保留為空,因為它很少使用(動態內容可以使用它在部落格文章清單中顯示縮圖)。如果路徑取決於網站名稱,請在路徑中使用__WEBSITEKEY__。 +WEBSITE_IMAGEDesc=影像媒體的相對路徑。您可以將其保留為空,因為它很少使用(動態內容可以使用它在部落格文章清單中顯示縮圖)。如果路徑取決於網站名稱,請在路徑中使用__WEBSITE_KEY __(例如:image / __ WEBSITE_KEY __ / stories / myimage.png)。 WEBSITE_KEYWORDS=關鍵字 LinesToImport=要匯入的行 diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index 883d3b2869d..72233c0d88a 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -22,6 +22,8 @@ ProductVatMassChangeDesc=此工具將更新所有產品和服務 MassBarcodeInit=批次條碼初始化 MassBarcodeInitDesc=此頁面可用將未定義條碼的項目初始化條碼。在完成模組條碼的設定之前進行檢查。 ProductAccountancyBuyCode=會計代碼(購買) +ProductAccountancyBuyIntraCode=會計代碼(在歐盟內採購) +ProductAccountancyBuyExportCode=Accounting code (purchase import) ProductAccountancySellCode=會計代碼(銷售) ProductAccountancySellIntraCode=會計代碼(內部銷售) ProductAccountancySellExportCode=會計代碼(出口銷售) @@ -165,7 +167,7 @@ SuppliersPrices=供應商價格 SuppliersPricesOfProductsOrServices=供應商價格(產品或服務) CustomCode=海關/商品/ HS編碼 CountryOrigin=原產地 -Nature=產品的性質(材料/成品) +Nature=Nature of product (material/finished) ShortLabel=短標籤 Unit=單位 p=u. diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 14475c2442b..dd85077e28a 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -87,8 +87,6 @@ WhichIamLinkedToProject=此我已連結到專案 Time=時間 ListOfTasks=任務清單 GoToListOfTimeConsumed=前往工作時間清單 -GoToListOfTasks=顯示清單 -GoToGanttView=顯示甘特圖 GanttView=甘特圖 ListProposalsAssociatedProject=與專案有關的商業建議書清單 ListOrdersAssociatedProject=與專案相關的銷售訂單清單 @@ -188,7 +186,7 @@ PlannedWorkload=計劃的工作量 PlannedWorkloadShort=工作量 ProjectReferers=相關項目 ProjectMustBeValidatedFirst=必須先驗證專案 -FirstAddRessourceToAllocateTime=為任務分配用戶資源以分配時間 +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time InputPerDay=每天輸入 InputPerWeek=每週輸入 InputPerMonth=每月輸入 @@ -240,6 +238,7 @@ LatestModifiedProjects=最新%s件修改專案 OtherFilteredTasks=其他過濾任務 NoAssignedTasks=找不到分配的任務(從頂部選擇框向目前用戶分配專案/任務以輸入時間) ThirdPartyRequiredToGenerateInvoice=必須在專案上定義合作方才能開立發票。 +ChooseANotYetAssignedTask=選擇一個尚未分配給您的任務 # Comments trans AllowCommentOnTask=允許用戶對任務發表評論 AllowCommentOnProject=允許用戶對專案發表評論 @@ -257,7 +256,7 @@ InvoiceGeneratedFromTimeSpent=根據專案花費的時間產生了發票%s ProjectBillTimeDescription=請勾選如果您輸入了有關專案任務的時間表,並計劃從此時間表中產生發票以向此專案的客戶開立帳單(不要勾選如果您打算建立不基於輸入時間表的發票)。注意:要產生發票,請前往專案的“花費時間”分頁上,並選擇要包括的行。 ProjectFollowOpportunity=追蹤機會 ProjectFollowTasks=追蹤任務 -Usage=Usage +Usage=使用率 UsageOpportunity=用法:機會 UsageTasks=用法:任務 UsageBillTimeShort=用法:帳單時間 @@ -265,3 +264,4 @@ InvoiceToUse=發票草稿 NewInvoice=新發票 OneLinePerTask=每個任務一行 OneLinePerPeriod=每個週期一行 +RefTaskParent=參考上層任務 diff --git a/htdocs/langs/zh_TW/receiptprinter.lang b/htdocs/langs/zh_TW/receiptprinter.lang index 45a8847db4a..0732468cc3a 100644 --- a/htdocs/langs/zh_TW/receiptprinter.lang +++ b/htdocs/langs/zh_TW/receiptprinter.lang @@ -15,10 +15,12 @@ CONNECTOR_DUMMY=虛擬印表機 CONNECTOR_NETWORK_PRINT=網路印表機 CONNECTOR_FILE_PRINT=本地印表機 CONNECTOR_WINDOWS_PRINT=本地Windows印表機 +CONNECTOR_CUPS_PRINT=Cups 印表機 CONNECTOR_DUMMY_HELP=測試用假印表機,什麼都不做 CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS 印表機名稱,如:HPRT_TP805L PROFILE_DEFAULT=預設設定文件 PROFILE_SIMPLE=簡易設定文件 PROFILE_EPOSTEP=Epos Tep設定文件 @@ -61,3 +63,33 @@ DOL_VALUE_MONTH_LETTERS=發票月份(以字母為單位) DOL_VALUE_MONTH=發票月份 DOL_VALUE_DAY=發票日 DOL_VALUE_DAY_LETTERS=發票日(以字母為單位) +DOL_LINE_FEED_REVERSE=Line feed reverse +DOL_VALUE_OBJECT_ID=Invoice ID +DOL_VALUE_OBJECT_REF=發票參考 +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +DOL_VALUE_MYSOC_ADDRESS=Your company address +DOL_VALUE_MYSOC_ZIP=Your zip code +DOL_VALUE_MYSOC_TOWN=Your town +DOL_VALUE_MYSOC_COUNTRY=Your country +DOL_VALUE_MYSOC_IDPROF1=Your IDPROF1 +DOL_VALUE_MYSOC_IDPROF2=Your IDPROF2 +DOL_VALUE_MYSOC_IDPROF3=Your IDPROF3 +DOL_VALUE_MYSOC_IDPROF4=Your IDPROF4 +DOL_VALUE_MYSOC_IDPROF5=Your IDPROF5 +DOL_VALUE_MYSOC_IDPROF6=Your IDPROF6 +DOL_VALUE_MYSOC_TVA_INTRA=歐盟營業稅ID +DOL_VALUE_MYSOC_CAPITAL=資本 +DOL_VALUE_VENDOR_LASTNAME=Vendor last name +DOL_VALUE_VENDOR_FIRSTNAME=Vendor first name +DOL_VALUE_VENDOR_MAIL=Vendor mail +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/zh_TW/stripe.lang b/htdocs/langs/zh_TW/stripe.lang index 8341304831b..d5ca122f272 100644 --- a/htdocs/langs/zh_TW/stripe.lang +++ b/htdocs/langs/zh_TW/stripe.lang @@ -32,6 +32,7 @@ VendorName=供應商名稱 CSSUrlForPaymentForm=CSS樣式付款表單網址 NewStripePaymentReceived=收到新的Stripe付款 NewStripePaymentFailed=已嘗試新的Stripe付款但失敗 +FailedToChargeCard=儲值失敗 STRIPE_TEST_SECRET_KEY=秘密測試金鑰 STRIPE_TEST_PUBLISHABLE_KEY=可發布的測試金鑰 STRIPE_TEST_WEBHOOK_KEY=Webhook測試金鑰 @@ -68,4 +69,4 @@ ToOfferALinkForTestWebhook=連結到Stripe WebHook設定以呼叫IPN(測試模 ToOfferALinkForLiveWebhook=連結到Stripe WebHook設定以呼叫IPN(live模式) PaymentWillBeRecordedForNextPeriod=付款將記錄在下一個期間。 ClickHereToTryAgain=點擊此處重試... -CreationOfPaymentModeMustBeDoneFromStripeInterface=根據嚴格的客戶身份驗證規則,必須在Stripe後台建立卡。您可以點擊此處打開Stripe客戶記錄:%s +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/zh_TW/users.lang b/htdocs/langs/zh_TW/users.lang index 485e7e9db7f..4afcba3ee3f 100644 --- a/htdocs/langs/zh_TW/users.lang +++ b/htdocs/langs/zh_TW/users.lang @@ -70,7 +70,7 @@ ExportDataset_user_1=用戶及其屬性 DomainUser=網域用戶%s Reactivate=重新啟用 CreateInternalUserDesc=此表單使您可以在公司/組織中建立內部用戶。要建立外部用戶(客戶,供應商等),請使用該第三方聯絡卡中的“建立Dolibarr用戶”按鈕。 -InternalExternalDesc=內部用戶是您公司/組織的一部分的用戶。
    外部用戶是客戶,供應商或其他。

    在這兩種情況下,Dolibarr中都已定義了權限,外部用戶也可以具有與內部用戶不同的菜單管理器(請參閱首頁-設定-顯示) +InternalExternalDesc=一位 內部 使用者是您 公司/組織 的一部分。
    一位 外部 使用者是顧客,供應商或是其他 (可從第三方的聯絡人紀錄為第三方建立一位外部使用者)。

    以上兩種情形,在 Dolibarr 權限定義權利,外部使用者可以使用一個跟內部使用者不同的選單管理器 (見 首頁 - 設定 - 顯示) PermissionInheritedFromAGroup=因為從權限授予一個用戶的一組繼承。 Inherited=繼承 UserWillBeInternalUser=建立的用戶將是一個內部用戶(因為沒有連結到一個特定的第三方) @@ -113,3 +113,5 @@ CantDisableYourself=您不能禁用自己的用戶記錄 ForceUserExpenseValidator=強制使用費用報告表驗證 ForceUserHolidayValidator=強制使用休假請求驗證 ValidatorIsSupervisorByDefault=預設情況下,驗證者是用戶的主管。保持空白狀態以保持這種行為。 +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone diff --git a/htdocs/langs/zh_TW/website.lang b/htdocs/langs/zh_TW/website.lang index 5ed3c336d17..6cf4b0381d9 100644 --- a/htdocs/langs/zh_TW/website.lang +++ b/htdocs/langs/zh_TW/website.lang @@ -42,7 +42,8 @@ ViewPageInNewTab=在新分頁中檢視頁面 SetAsHomePage=設為首頁 RealURL=真實網址 ViewWebsiteInProduction=使用家庭網址檢視網站 -SetHereVirtualHost=如果您會建立請使用Apache/NGinx/...
    , 在您的網站伺服器上 (Apache, Nginx, ...), 已啟用PHP的專用虛擬主機並且根資料夾位於
    %s
    然後在網站的屬性中設定您建立的虛擬主機名稱, 因此也可以預覽此網站伺服器而不是內部Dolibarr伺服器. +SetHereVirtualHost=使用Apache/NGinx/...
    建立您的網頁伺服器 (Apache, Nginx, ...) 啟用了含有PHP的專用虛擬主機並且根目錄資料夾位於
    %s +ExampleToUseInApacheVirtualHostConfig=在Apache虛擬主機設定中使用的範例: YouCanAlsoTestWithPHPS=在開發環境中使用嵌入式PHP伺服器
    , 您也許想要使用
    php -S 0.0.0.0:8080 -t %s 來測試此嵌入式PHP伺服器 (需要PHP 5.5) 的網站 YouCanAlsoDeployToAnotherWHP=在其他Dolibarr網站託管供應商執行您的網站
    如果您在網路上沒有Apache或NGinx之類的Web伺服器,則可以將網站匯出並匯入到另一個由Dolibarr網站託管供應商提供且有完整整合網站模組。您可以在 https://saas.dolibarr.org 上找到一些Dolibarr網站託管服務供應商的清單。 CheckVirtualHostPerms=還要檢查虛擬主機是否具有將 %s 上的許可權轉換為
    %s 的權限 @@ -84,7 +85,7 @@ SorryWebsiteIsCurrentlyOffLine=抱歉,此網站目前離線。請稍後再來 WEBSITE_USE_WEBSITE_ACCOUNTS=啟用網站帳戶列表 WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=啟用表格以存儲每個網站/合作方的網站帳戶(登入/通過) YouMustDefineTheHomePage=您必須先定義預設首頁 -OnlyEditionOfSourceForGrabbedContentFuture=警告:通過匯入外部網頁來建立網頁僅供有經驗的用戶使用。根據來源頁面的複雜程度,匯入結果可能與原始結果不同。同樣,如果來源頁面使用常見的CSS樣式或衝突的javascript,則在處理此頁面時,它可能會破壞網站編輯器的外觀或功能。此方法是建立頁面的較快方法,但建議從頭開始或從建議的頁面模板建立新頁面。
    另請注意,通過從外部頁面抓取頁面內容來初始化頁面內容後,將可以對HTML來源代碼進行編輯(“線上”編輯器將不可用) +OnlyEditionOfSourceForGrabbedContentFuture=警告:通過匯入外部網頁來建立網頁僅供有經驗的用戶使用。根據來源頁面的複雜程度,匯入結果可能與原始結果不同。同樣,如果來源頁面使用常見的CSS樣式或衝突的javascript,則在處理此頁面時,它可能會破壞網站編輯器的外觀或功能。此方法是建立頁面的較快方法,但建議從頭開始或從建議的頁面模板建立新頁面。
    另請注意,在抓取的外部頁面上使用時,內聯編輯器可能無法正確工作。 OnlyEditionOfSourceForGrabbedContent=從外部網站獲取內容時,只能使用HTML源代碼版本 GrabImagesInto=抓取圖像到css和頁面。 ImagesShouldBeSavedInto=圖片應儲存到目錄中 @@ -124,3 +125,6 @@ UseTextBetween5And70Chars=為了獲得良好的SEO實踐,請使用5到70個字 MainLanguage=主要語言 OtherLanguages=其他語言 UseManifest=提供manifest.json檔案 +PublicAuthorAlias=公共作者別名 +AvailableLanguagesAreDefinedIntoWebsiteProperties=可用語言已定義到網站屬性中 +ReplacementDoneInXPages=Replacement done in %s pages or containers diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index 47ddfd2b109..56b12321bb2 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -253,7 +253,7 @@ if ($action == 'create') //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - print load_fiche_titre($langs->trans("NewLoan"), '', 'title_accountancy.png'); + print load_fiche_titre($langs->trans("NewLoan"), '', 'money-bill-alt'); $datec = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); @@ -475,7 +475,7 @@ if ($id > 0) print '
    '; print '
    '; - print '
    '; + print '
    '; // Capital if ($action == 'edit') diff --git a/htdocs/loan/class/loan.class.php b/htdocs/loan/class/loan.class.php index 340d9dea02a..1a24eb6be11 100644 --- a/htdocs/loan/class/loan.class.php +++ b/htdocs/loan/class/loan.class.php @@ -44,7 +44,7 @@ class Loan extends CommonObject /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'bill'; + public $picto = 'money-bill-alt'; /** * @var int ID diff --git a/htdocs/loan/class/paymentloan.class.php b/htdocs/loan/class/paymentloan.class.php index 485d48dc443..ce152317710 100644 --- a/htdocs/loan/class/paymentloan.class.php +++ b/htdocs/loan/class/paymentloan.class.php @@ -507,25 +507,39 @@ class PaymentLoan extends CommonObject /** * 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 + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=No picto + * @param int $maxlen Max length label + * @param int $notooltip 1=Disable tooltip + * @param string $moretitle Add more text to title tooltip + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL */ - public function getNomUrl($withpicto = 0, $maxlen = 0) + public function getNomUrl($withpicto = 0, $maxlen = 0, $notooltip = 0, $moretitle = '', $save_lastsearch_value = -1) { - global $langs; + global $langs, $conf; + + if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips $result = ''; - - 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; + $label = ''.$langs->trans("Loan").''; + if (!empty($this->id)) { + $label .= '
    '.$langs->trans('Ref').': '.$this->id; } + if ($moretitle) $label .= ' - '.$moretitle; + + $url = DOL_URL_ROOT.'/loan/payment/card.php?id='.$this->id; + + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) $add_save_lastsearch_values = 1; + if ($add_save_lastsearch_values) $url .= '&save_lastsearch_values=1'; + + $linkstart = ''; + $linkend = ''; + + $result .= $linkstart; + if ($withpicto) $result .= img_object(($notooltip ? '' : $label), $this->picto, ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + if ($withpicto != 2) $result .= $this->ref; + $result .= $linkend; return $result; } diff --git a/htdocs/loan/document.php b/htdocs/loan/document.php index a68ec64f7b1..6ae646a93a1 100644 --- a/htdocs/loan/document.php +++ b/htdocs/loan/document.php @@ -44,13 +44,14 @@ if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'loan', $id, '', ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/loan/list.php b/htdocs/loan/list.php index 380d475398e..3f87f322ccb 100644 --- a/htdocs/loan/list.php +++ b/htdocs/loan/list.php @@ -35,7 +35,7 @@ $socid = GETPOST('socid', 'int'); if ($user->socid) $socid = $user->socid; $result = restrictedArea($user, 'loan', '', '', ''); -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); @@ -167,7 +167,7 @@ if ($resql) print ''; print ''; - print_barre_liste($langs->trans("Loans"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy.png', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($langs->trans("Loans"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'money-bill-alt', 0, $newcardbutton, '', $limit, 0, 0, 1); $moreforfilter = ''; diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 965d49de2f7..49c48e34ec1 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -11,6 +11,7 @@ * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2014-2015 Marcos García * Copyright (C) 2015 Raphaël Doursenaud + * Copyright (C) 2020 Demarest Maxime * * This 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 +317,7 @@ if (!defined('NOLOGIN') && !defined('NOIPCHECK') && !empty($dolibarr_main_restri // Loading of additional presentation includes if (!defined('NOREQUIREHTML')) require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; // Need 660ko memory (800ko in 2.2) -if (!defined('NOREQUIREAJAX') && $conf->use_javascript_ajax) require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; // Need 22ko memory +require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; // Need 22ko memory // If install or upgrade process not done or not completely finished, we call the install page. if (!empty($conf->global->MAIN_NOT_INSTALLED) || !empty($conf->global->MAIN_NOT_UPGRADED)) @@ -2025,7 +2026,7 @@ function top_menu_search() $defaultAction = ''; $buttonList = '
    '."\n"; + print ''; + print ''."\n"; + print ''."\n"; + print ''."\n"; + if (!empty($conf->global->MAIN_INFO_SOCIETE_TEL)) print ''; + if (!empty($conf->global->MAIN_INFO_SOCIETE_MAIL)) print ''; + if (!empty($conf->global->MAIN_INFO_SOCIETE_WEB)) print ''; + print ''; + print '
    '; + if ($conf->global->MAIN_SHOW_LOGO && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) && !empty($conf->global->MAIN_INFO_SOCIETE_LOGO)) + print ''; + print '
    '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_NOM).'
    '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_ADDRESS).'
    '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_ZIP).' '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_TOWN).'
    '.$langs->trans("Phone").' : '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_TEL).'
    '.$langs->trans("Email").' : '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_MAIL).'
    '.$langs->trans("Web").' : '.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_WEB).'
    '."\n"; + print ''."\n"; + print ''."\n"; + } + } } @@ -2423,14 +2451,14 @@ function printSearchForm($urlaction, $urlobject, $title, $htmlmorecss, $htmlinpu $ret .= ''; if ($showtitlebefore) $ret .= '
    '.$title.'
    '; $ret .= '
    '; + $ret .= img_picto('', $img, '', false, 0, 0, '', 'paddingright width20'); $ret .= ''; - //$ret.=''; - $ret .= ''; $ret .= '
    '; diff --git a/htdocs/margin/admin/margin.php b/htdocs/margin/admin/margin.php index a2ac11abf7d..5b6cd01ba97 100644 --- a/htdocs/margin/admin/margin.php +++ b/htdocs/margin/admin/margin.php @@ -39,6 +39,7 @@ $action = GETPOST('action', 'alpha'); /* * Action */ + if (preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg)) { $code = $reg[1]; @@ -107,6 +108,8 @@ if ($action == 'contact') * View */ +$form = new Form($db); + llxHeader('', $langs->trans("margesSetup")); @@ -118,16 +121,13 @@ $head = marges_admin_prepare_head(); dol_fiche_head($head, 'parameters', $langs->trans("Margins"), -1, 'margin'); -print load_fiche_titre($langs->trans("MemberMainOptions"), '', ''); print ''; print ''; -print ''; -print ''."\n"; +print ''; +print ''."\n"; print ''."\n"; print ''; -$form = new Form($db); - // GLOBAL DISCOUNT MANAGEMENT print ''; print ''; @@ -162,7 +162,7 @@ print ''; // DISPLAY MARGIN RATES print ''; print ''; -print ''; // DISPLAY MARK RATES print ''; print ''; -print ''; print ''; print ''; -print ''; } - if (!empty($conf->fournisseur->enabled) && $object->fournisseur && !empty($user->rights->fournisseur->lire)) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || ! empty($conf->supplier_order->enabled) || ! empty($conf->supplier_invoice->enabled)) && $object->fournisseur && !empty($user->rights->fournisseur->lire)) { print ''; // Qty to receive or received - print ''; + print ''; // Warehouse source print ''; // Batch number managment @@ -1884,11 +1878,11 @@ elseif ($id || $ref) print ''; print ''; // Qty to receive or received - print ''; + print ''; // Warehouse source - print ''; + print ''; // Batch number managment - print ''; + print ''; print ''; } } diff --git a/htdocs/reception/class/reception.class.php b/htdocs/reception/class/reception.class.php index 81c4854a4bf..a95d6217c1c 100644 --- a/htdocs/reception/class/reception.class.php +++ b/htdocs/reception/class/reception.class.php @@ -52,7 +52,7 @@ class Reception extends CommonObject /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'reception'; + public $picto = 'dollyrevert'; public $socid; public $ref_supplier; @@ -305,24 +305,12 @@ class Reception extends CommonObject } } - // Actions on extra fields (by external module or standard code) - // TODO le hook fait double emploi avec le trigger !! - $action = 'add'; - $hookmanager->initHooks(array('receptiondao')); - $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)) + // Create extrafields + if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used - { - $result = $this->insertExtraFields(); - if ($result < 0) - { - $error++; - } - } + $result = $this->insertExtraFields(); + if ($result < 0) $error++; } - elseif ($reshook < 0) $error++; if (!$error && !$notrigger) { @@ -330,29 +318,22 @@ class Reception extends CommonObject $result = $this->call_trigger('RECEPTION_CREATE', $user); if ($result < 0) { $error++; } // End call triggers + } - if (!$error) - { - $this->db->commit(); - return $this->id; - } - else - { - foreach ($this->errors as $errmsg) - { - dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); - $this->error .= ($this->error ? ', '.$errmsg : $errmsg); - } - $this->db->rollback(); - return -1 * $error; - } + if (!$error) + { + $this->db->commit(); + return $this->id; } else { - $error++; - $this->error = $this->db->lasterror()." - sql=$sql"; + foreach ($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); + $this->error .= ($this->error ? ', '.$errmsg : $errmsg); + } $this->db->rollback(); - return -3; + return -1 * $error; } } else @@ -769,8 +750,13 @@ class Reception extends CommonObject } // extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options) > 0) // For avoid conflicts if trigger used - $line->array_options = $array_options; + $line->array_options = $supplierorderline->array_options; + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options) > 0) + { + foreach ($array_options as $key => $value) { + $line->array_options[$key] = $value; + } + } $line->fk_product = $fk_product; $line->fk_commande = $supplierorderline->fk_commande; @@ -944,10 +930,14 @@ class Reception extends CommonObject if (!$error) { + $main = MAIN_DB_PREFIX.'commande_fournisseur_dispatch'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_reception = ".$this->id.")"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch"; $sql .= " WHERE fk_reception = ".$this->id; - if ($this->db->query($sql)) + if ($this->db->query($sqlef) && $this->db->query($sql)) { // Delete linked object $res = $this->deleteObjectLinked(); @@ -1116,7 +1106,7 @@ class Reception extends CommonObject { global $conf, $langs; $result = ''; - $label = ''.$langs->trans("ShowReception").''; + $label = ''.$langs->trans("Reception").''; $label .= '
    '.$langs->trans('Ref').': '.$this->ref; $label .= '
    '.$langs->trans('RefSupplier').': '.($this->ref_supplier ? $this->ref_supplier : $this->ref_client); @@ -1129,19 +1119,18 @@ class Reception extends CommonObject { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowReception"); + $label = $langs->trans("Reception"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; $linkclose .= ' class="classfortooltip"'; } - $linkstart = ''; + $linkstart = ''; $linkend = ''; - $picto = 'sending'; - - if ($withpicto) $result .= ($linkstart.img_object(($notooltip ? '' : $label), $picto, ($notooltip ? '' : 'class="classfortooltip"'), 0, 0, $notooltip ? 0 : 1).$linkend); + if ($withpicto) $result .= ($linkstart.img_object(($notooltip ? '' : $label), $this->picto, ($notooltip ? '' : 'class="classfortooltip"'), 0, 0, $notooltip ? 0 : 1).$linkend); if ($withpicto && $withpicto != 2) $result .= ' '; $result .= $linkstart.$this->ref.$linkend; return $result; diff --git a/htdocs/reception/contact.php b/htdocs/reception/contact.php index 7dd0bec2b38..b2d30bf7c7f 100644 --- a/htdocs/reception/contact.php +++ b/htdocs/reception/contact.php @@ -158,7 +158,7 @@ if ($id > 0 || !empty($ref)) $langs->trans("OrderCard"); $head = reception_prepare_head($object); - dol_fiche_head($head, 'contact', $langs->trans("Reception"), -1, 'sending'); + dol_fiche_head($head, 'contact', $langs->trans("Reception"), -1, 'dollyrevert'); // Reception card diff --git a/htdocs/reception/index.php b/htdocs/reception/index.php index c615017ad37..b9786229468 100644 --- a/htdocs/reception/index.php +++ b/htdocs/reception/index.php @@ -47,7 +47,7 @@ $reception = new Reception($db); $helpurl = 'EN:Module_Receptions|FR:Module_Receptions|ES:Módulo_Receptiones'; llxHeader('', $langs->trans("Reception"), $helpurl); -print load_fiche_titre($langs->trans("ReceptionsArea")); +print load_fiche_titre($langs->trans("ReceptionsArea"), '', 'dollyrevert'); print '
    '; diff --git a/htdocs/reception/list.php b/htdocs/reception/list.php index f370c9ed9cf..c6cfcd5264c 100644 --- a/htdocs/reception/list.php +++ b/htdocs/reception/list.php @@ -547,11 +547,10 @@ if ($resql) print ''; print ''; print ''; - print ''; print ''; print ''; - print_barre_liste($langs->trans('ListOfReceptions'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, '', 0, '', '', $limit); + print_barre_liste($langs->trans('ListOfReceptions'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'dollyrevert', 0, '', '', $limit, 0, 0, 1); if ($massaction == 'createbills') @@ -885,7 +884,7 @@ if ($resql) include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/reception/note.php b/htdocs/reception/note.php index 0bec9f8c9e2..9e9b6c20f92 100644 --- a/htdocs/reception/note.php +++ b/htdocs/reception/note.php @@ -98,7 +98,7 @@ $form = new Form($db); if ($id > 0 || !empty($ref)) { $head = reception_prepare_head($object); - dol_fiche_head($head, 'note', $langs->trans("Reception"), -1, 'sending'); + dol_fiche_head($head, 'note', $langs->trans("Reception"), -1, 'dollyrevert'); // Reception card diff --git a/htdocs/reception/stats/index.php b/htdocs/reception/stats/index.php index a93003b0ef9..e7e8ef7e090 100644 --- a/htdocs/reception/stats/index.php +++ b/htdocs/reception/stats/index.php @@ -61,7 +61,7 @@ $form = new Form($db); llxHeader(); -print load_fiche_titre($langs->trans("StatisticsOfReceptions"), $mesg); +print load_fiche_titre($langs->trans("StatisticsOfReceptions"), '', 'dollyrevert'); dol_mkdir($dir); @@ -200,7 +200,7 @@ if (!count($arrayyears)) $arrayyears[$nowyear] = $nowyear; $h = 0; $head = array(); -$head[$h][0] = DOL_URL_ROOT.'/commande/stats/index.php'; +$head[$h][0] = DOL_URL_ROOT.'/reception/stats/index.php'; $head[$h][1] = $langs->trans("ByMonthYear"); $head[$h][2] = 'byyear'; $h++; diff --git a/htdocs/resource/class/dolresource.class.php b/htdocs/resource/class/dolresource.class.php index 75c6e50dec3..1b4223e1fff 100644 --- a/htdocs/resource/class/dolresource.class.php +++ b/htdocs/resource/class/dolresource.class.php @@ -136,7 +136,7 @@ class Dolresource extends CommonObject $action = 'create'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -309,7 +309,7 @@ class Dolresource extends CommonObject $action = 'update'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -871,10 +871,12 @@ class Dolresource extends CommonObject return $resources; } - /* + /** * Return an int number of resources linked to the element * - * @return int + * @param string $element Element type + * @param int $element_id Element id + * @return int Nb of resources loaded */ public function fetchElementResources($element, $element_id) { diff --git a/htdocs/resource/class/html.formresource.class.php b/htdocs/resource/class/html.formresource.class.php index 3c0bb36116e..4836ed1a0f1 100644 --- a/htdocs/resource/class/html.formresource.class.php +++ b/htdocs/resource/class/html.formresource.class.php @@ -74,9 +74,10 @@ class FormResource * @param string $filterkey Filter on key value * @param int $outputmode 0=HTML select string, 1=Array, 2=without form tag * @param int $limit Limit number of answers + * @param string $morecss More css * @return string HTML string with */ - public function select_resource_list($selected = '', $htmlname = 'fk_resource', $filter = '', $showempty = 0, $showtype = 0, $forcecombo = 0, $event = array(), $filterkey = '', $outputmode = 0, $limit = 20) + public function select_resource_list($selected = '', $htmlname = 'fk_resource', $filter = '', $showempty = 0, $showtype = 0, $forcecombo = 0, $event = array(), $filterkey = '', $outputmode = 0, $limit = 20, $morecss = '') { // phpcs:enable global $conf, $user, $langs; @@ -100,10 +101,12 @@ class FormResource { //$minLength = (is_numeric($conf->global->RESOURCE_USE_SEARCH_TO_SELECT)?$conf->global->RESOURCE_USE_SEARCH_TO_SELECT:2); $out .= ajax_combobox($htmlname, $event, $conf->global->RESOURCE_USE_SEARCH_TO_SELECT); + } else { + $out .= ajax_combobox($htmlname); } // Construct $out and $outarray - $out .= ''."\n"; if ($showempty) $out .= ''."\n"; $num = 0; @@ -136,7 +139,6 @@ class FormResource } } $out .= ''."\n"; - $out .= ajax_combobox($htmlname); if ($outputmode != 2) { diff --git a/htdocs/resource/document.php b/htdocs/resource/document.php index 5f053be4321..d0d4e2300d8 100644 --- a/htdocs/resource/document.php +++ b/htdocs/resource/document.php @@ -49,11 +49,12 @@ $result = restrictedArea($user, 'resource', $id, 'resource'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/salaries/card.php b/htdocs/salaries/card.php index ac1c08f2948..ade8924b0d0 100644 --- a/htdocs/salaries/card.php +++ b/htdocs/salaries/card.php @@ -264,7 +264,7 @@ if ($action == 'create') print ''; print ''; - print load_fiche_titre($langs->trans("NewSalaryPayment"), '', 'title_accountancy.png'); + print load_fiche_titre($langs->trans("NewSalaryPayment"), '', 'object_payment'); dol_fiche_head('', ''); diff --git a/htdocs/salaries/class/paymentsalary.class.php b/htdocs/salaries/class/paymentsalary.class.php index 44c25b09a13..82cdf3c80ce 100644 --- a/htdocs/salaries/class/paymentsalary.class.php +++ b/htdocs/salaries/class/paymentsalary.class.php @@ -160,7 +160,7 @@ class PaymentSalary extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -449,7 +449,7 @@ class PaymentSalary extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/salaries/document.php b/htdocs/salaries/document.php index c8de93c0786..ff709816d18 100644 --- a/htdocs/salaries/document.php +++ b/htdocs/salaries/document.php @@ -50,11 +50,12 @@ $result = restrictedArea($user, 'salaries', '', '', ''); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); $sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/salaries/list.php b/htdocs/salaries/list.php index 259547ae8ff..fd6e7a3ec95 100644 --- a/htdocs/salaries/list.php +++ b/htdocs/salaries/list.php @@ -49,16 +49,16 @@ $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortfield) $sortfield = "s.datep,s.rowid"; if (!$sortorder) $sortorder = "DESC,DESC"; $optioncss = GETPOST('optioncss', 'alpha'); -$filtre = $_GET["filtre"]; +$filtre = GETPOST("filtre", 'none'); -if (empty($_REQUEST['typeid'])) +if (!GETPOST('typeid', 'int')) { $newfiltre = str_replace('filtre=', '', $filtre); $filterarray = explode('-', $newfiltre); @@ -70,7 +70,7 @@ if (empty($_REQUEST['typeid'])) } else { - $typeid = $_REQUEST['typeid']; + $typeid = GETPOST('typeid', 'int'); } @@ -141,6 +141,7 @@ if ($result) } $sql .= $db->plimit($limit + 1, $offset); + $result = $db->query($sql); if ($result) { @@ -167,9 +168,8 @@ if ($result) print ''; print ''; print ''; - print ''; - print_barre_liste($langs->trans("SalariesPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'title_accountancy.png', 0, $newcardbutton, '', $limit); + print_barre_liste($langs->trans("SalariesPayments"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $newcardbutton, '', $limit, 0, 0, 1); print '
    '; print '
    '.$langs->trans("Description").''.$langs->trans("Value").''.$langs->trans("MemberMainOptions").''.$langs->trans("Value").''.$langs->trans("Description").'
    '.$langs->trans("DisplayMarginRates").''; +print ''; if (!empty($conf->use_javascript_ajax)) { print ajax_constantonoff('DISPLAY_MARGIN_RATES'); @@ -185,7 +185,7 @@ print '
    '.$langs->trans("DisplayMarkRates").''; +print ''; if (!empty($conf->use_javascript_ajax)) { print ajax_constantonoff('DISPLAY_MARK_RATES'); @@ -208,7 +208,7 @@ print '
    '.$langs->trans("ForceBuyingPriceIfNull").''; +print ''; if (!empty($conf->use_javascript_ajax)) { print ajax_constantonoff('ForceBuyingPriceIfNull'); diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index d166b990d9b..e68a042ace2 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -42,13 +42,12 @@ if (empty($user->rights->margins->liretous)) accessforbidden(); $object = new Product($db); -$mesg = ''; - +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "DESC"; diff --git a/htdocs/margin/tabs/thirdpartyMargins.php b/htdocs/margin/tabs/thirdpartyMargins.php index 5d7d0039b7a..ecb8a3ce764 100644 --- a/htdocs/margin/tabs/thirdpartyMargins.php +++ b/htdocs/margin/tabs/thirdpartyMargins.php @@ -34,13 +34,12 @@ if (!empty($user->socid)) $socid = $user->socid; $result = restrictedArea($user, 'societe', '', ''); -$mesg = ''; - +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "DESC"; @@ -106,7 +105,7 @@ if ($socid > 0) print '
    '; print $langs->trans('SupplierCode').''; diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index 5b90f2a8f98..d813c3b291b 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -180,8 +180,10 @@ if ($dirins && $action == 'initmodule' && $modulename) dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject.sql'); dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject_extrafields.sql'); dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject.key.sql'); + dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject_extrafields.key.sql'); dol_delete_file($destdir.'/img/object_myobject.png'); dol_delete_file($destdir.'/class/myobject.class.php'); + dol_delete_dir($destdir.'/class'); dol_delete_dir($destdir.'/sql'); } @@ -2122,7 +2124,7 @@ elseif (!empty($module)) print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print ' '.$langs->trans("LanguageFile").' : '; if (!is_array($dicts) || empty($dicts)) print ''.$langs->trans("NoDictionaries").''; @@ -2867,7 +2869,7 @@ elseif (!empty($module)) print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; @@ -3007,7 +3009,7 @@ elseif (!empty($module)) print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; @@ -3099,12 +3101,13 @@ elseif (!empty($module)) print ''.$langs->trans("HooksDefDesc").'
    '; print '
    '; - print ''; + print ''; print ''; } else @@ -3279,7 +3294,7 @@ elseif (!empty($module)) if (dol_is_file($dirins.'/'.$pathtohook)) { print ''.$pathtohook.''; - print ''; + print ''; print ''; } else @@ -3335,7 +3350,7 @@ elseif (!empty($module)) $pathtofile = $widget['relpath']; print ''; print ''; } @@ -3473,7 +3488,7 @@ elseif (!empty($module)) print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; @@ -3602,7 +3617,7 @@ elseif (!empty($module)) if (preg_match('/\.md$/i', $spec['name'])) $format = 'markdown'; print ''; + print ''; print ''; print ''; } @@ -3657,7 +3672,7 @@ elseif (!empty($module)) // HTML print ' '.$langs->trans("PathToModuleDocumentation", "HTML").' : '; - if (!dol_is_file($outputfiledoc)) print ''.$langs->trans("FileNotYetGenerated").''; + if (!dol_is_file($outputfiledoc)) print ''.$langs->trans("FileNotYetGenerated").''; else { print ''; print ''; @@ -3670,7 +3685,7 @@ elseif (!empty($module)) // PDF print ' '.$langs->trans("PathToModuleDocumentation", "PDF").' : '; - if (!dol_is_file($outputfiledocpdf)) print ''.$langs->trans("FileNotYetGenerated").''; + if (!dol_is_file($outputfiledocpdf)) print ''.$langs->trans("FileNotYetGenerated").''; else { print ''; print ''; @@ -3744,7 +3759,7 @@ elseif (!empty($module)) print '
    '; print ' '.$langs->trans("PathToModulePackage").' : '; - if (!dol_is_file($outputfilezip)) print ''.$langs->trans("FileNotYetGenerated").''; + if (!dol_is_file($outputfilezip)) print ''.$langs->trans("FileNotYetGenerated").''; else { $relativepath = $modulelowercase.'/bin/'.$FILENAMEZIP; print '
    '.$outputfilezip.''; diff --git a/htdocs/modulebuilder/template/.editorconfig b/htdocs/modulebuilder/template/.editorconfig index 3c4bd7d679d..57184034691 100644 --- a/htdocs/modulebuilder/template/.editorconfig +++ b/htdocs/modulebuilder/template/.editorconfig @@ -2,18 +2,18 @@ # top-most EditorConfig file root = true + # Unix-style newlines with a newline ending every file [*] charset = utf-8 end_of_line = lf insert_final_newline = true -# PHP PSR-2 Coding Standards -# http://www.php-fig.org/psr/psr-2/ [*.php] -indent_style = space +indent_style = tab indent_size = 4 trim_trailing_whitespace = true +insert_final_newline = true [*.js] indent_style = tab [*.css] diff --git a/htdocs/modulebuilder/template/class/actions_mymodule.class.php b/htdocs/modulebuilder/template/class/actions_mymodule.class.php index 91dae82343b..10bca2e8b9a 100644 --- a/htdocs/modulebuilder/template/class/actions_mymodule.class.php +++ b/htdocs/modulebuilder/template/class/actions_mymodule.class.php @@ -28,284 +28,284 @@ */ class ActionsMyModule { - /** - * @var DoliDB Database handler. - */ - public $db; + /** + * @var DoliDB Database handler. + */ + public $db; - /** - * @var string Error code (or message) - */ - public $error = ''; + /** + * @var string Error code (or message) + */ + public $error = ''; - /** - * @var array Errors - */ - public $errors = array(); + /** + * @var array Errors + */ + public $errors = array(); - /** - * @var array Hook results. Propagated to $hookmanager->resArray for later reuse - */ - public $results = array(); + /** + * @var array Hook results. Propagated to $hookmanager->resArray for later reuse + */ + public $results = array(); - /** - * @var string String displayed by executeHook() immediately after return - */ - public $resprints; + /** + * @var string String displayed by executeHook() immediately after return + */ + public $resprints; - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - public function __construct($db) - { - $this->db = $db; - } + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct($db) + { + $this->db = $db; + } - /** - * Execute action - * - * @param array $parameters Array of parameters - * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) - * @param string $action 'add', 'update', 'view' - * @return int <0 if KO, - * =0 if OK but we want to process standard actions too, - * >0 if OK and we want to replace standard actions. - */ - public function getNomUrl($parameters, &$object, &$action) - { - global $db, $langs, $conf, $user; - $this->resprints = ''; - return 0; - } + /** + * Execute action + * + * @param array $parameters Array of parameters + * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string $action 'add', 'update', 'view' + * @return int <0 if KO, + * =0 if OK but we want to process standard actions too, + * >0 if OK and we want to replace standard actions. + */ + public function getNomUrl($parameters, &$object, &$action) + { + global $db, $langs, $conf, $user; + $this->resprints = ''; + return 0; + } - /** - * Overloading the doActions function : replacing the parent's function with the one below - * - * @param array $parameters Hook metadatas (context, etc...) - * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) - * @param string $action Current action (if set). Generally create or edit or null - * @param HookManager $hookmanager Hook manager propagated to allow calling another hook - * @return int < 0 on error, 0 on success, 1 to replace standard code - */ - public function doActions($parameters, &$object, &$action, $hookmanager) - { - global $conf, $user, $langs; + /** + * Overloading the doActions function : replacing the parent's function with the one below + * + * @param array $parameters Hook metadatas (context, etc...) + * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string $action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + public function doActions($parameters, &$object, &$action, $hookmanager) + { + global $conf, $user, $langs; - $error = 0; // Error counter + $error = 0; // Error counter - /* print_r($parameters); print_r($object); echo "action: " . $action; */ - if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' - { - // Do what you want here... - // You can for example call global vars like $fieldstosearchall to overwrite them, or update database depending on $action and $_POST values. - } + /* print_r($parameters); print_r($object); echo "action: " . $action; */ + if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' + { + // Do what you want here... + // You can for example call global vars like $fieldstosearchall to overwrite them, or update database depending on $action and $_POST values. + } - if (!$error) { - $this->results = array('myreturn' => 999); - $this->resprints = 'A text to show'; - return 0; // or return 1 to replace standard code - } else { - $this->errors[] = 'Error message'; - return -1; - } - } + if (!$error) { + $this->results = array('myreturn' => 999); + $this->resprints = 'A text to show'; + return 0; // or return 1 to replace standard code + } else { + $this->errors[] = 'Error message'; + return -1; + } + } - /** - * Overloading the doMassActions function : replacing the parent's function with the one below - * - * @param array $parameters Hook metadatas (context, etc...) - * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) - * @param string $action Current action (if set). Generally create or edit or null - * @param HookManager $hookmanager Hook manager propagated to allow calling another hook - * @return int < 0 on error, 0 on success, 1 to replace standard code - */ - public function doMassActions($parameters, &$object, &$action, $hookmanager) - { - global $conf, $user, $langs; + /** + * Overloading the doMassActions function : replacing the parent's function with the one below + * + * @param array $parameters Hook metadatas (context, etc...) + * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string $action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + public function doMassActions($parameters, &$object, &$action, $hookmanager) + { + global $conf, $user, $langs; - $error = 0; // Error counter + $error = 0; // Error counter - /* print_r($parameters); print_r($object); echo "action: " . $action; */ - if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' - { - foreach ($parameters['toselect'] as $objectid) - { - // Do action on each object id - } - } + /* print_r($parameters); print_r($object); echo "action: " . $action; */ + if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' + { + foreach ($parameters['toselect'] as $objectid) + { + // Do action on each object id + } + } - if (!$error) { - $this->results = array('myreturn' => 999); - $this->resprints = 'A text to show'; - return 0; // or return 1 to replace standard code - } else { - $this->errors[] = 'Error message'; - return -1; - } - } + if (!$error) { + $this->results = array('myreturn' => 999); + $this->resprints = 'A text to show'; + return 0; // or return 1 to replace standard code + } else { + $this->errors[] = 'Error message'; + return -1; + } + } - /** - * Overloading the addMoreMassActions function : replacing the parent's function with the one below - * - * @param array $parameters Hook metadatas (context, etc...) - * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) - * @param string $action Current action (if set). Generally create or edit or null - * @param HookManager $hookmanager Hook manager propagated to allow calling another hook - * @return int < 0 on error, 0 on success, 1 to replace standard code - */ - public function addMoreMassActions($parameters, &$object, &$action, $hookmanager) - { - global $conf, $user, $langs; + /** + * Overloading the addMoreMassActions function : replacing the parent's function with the one below + * + * @param array $parameters Hook metadatas (context, etc...) + * @param CommonObject $object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string $action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + public function addMoreMassActions($parameters, &$object, &$action, $hookmanager) + { + global $conf, $user, $langs; - $error = 0; // Error counter + $error = 0; // Error counter - /* print_r($parameters); print_r($object); echo "action: " . $action; */ - if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' - { - $this->resprints = ''; - } + /* print_r($parameters); print_r($object); echo "action: " . $action; */ + if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' + { + $this->resprints = ''; + } - if (!$error) { - return 0; // or return 1 to replace standard code - } else { - $this->errors[] = 'Error message'; - return -1; - } - } + if (!$error) { + return 0; // or return 1 to replace standard code + } else { + $this->errors[] = 'Error message'; + return -1; + } + } - /** - * Execute action - * - * @param array $parameters Array of parameters - * @param Object $object Object output on PDF - * @param string $action 'add', 'update', 'view' - * @return int <0 if KO, - * =0 if OK but we want to process standard actions too, - * >0 if OK and we want to replace standard actions. - */ - public function beforePDFCreation($parameters, &$object, &$action) - { - global $conf, $user, $langs; - global $hookmanager; + /** + * Execute action + * + * @param array $parameters Array of parameters + * @param Object $object Object output on PDF + * @param string $action 'add', 'update', 'view' + * @return int <0 if KO, + * =0 if OK but we want to process standard actions too, + * >0 if OK and we want to replace standard actions. + */ + public function beforePDFCreation($parameters, &$object, &$action) + { + global $conf, $user, $langs; + global $hookmanager; - $outputlangs = $langs; + $outputlangs = $langs; - $ret = 0; $deltemp = array(); - dol_syslog(get_class($this).'::executeHooks action='.$action); + $ret = 0; $deltemp = array(); + dol_syslog(get_class($this).'::executeHooks action='.$action); - /* print_r($parameters); print_r($object); echo "action: " . $action; */ - if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' - { - } + /* print_r($parameters); print_r($object); echo "action: " . $action; */ + if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' + { + } - return $ret; - } + return $ret; + } - /** - * Execute action - * - * @param array $parameters Array of parameters - * @param Object $pdfhandler PDF builder handler - * @param string $action 'add', 'update', 'view' - * @return int <0 if KO, - * =0 if OK but we want to process standard actions too, - * >0 if OK and we want to replace standard actions. - */ - public function afterPDFCreation($parameters, &$pdfhandler, &$action) - { - global $conf, $user, $langs; - global $hookmanager; + /** + * Execute action + * + * @param array $parameters Array of parameters + * @param Object $pdfhandler PDF builder handler + * @param string $action 'add', 'update', 'view' + * @return int <0 if KO, + * =0 if OK but we want to process standard actions too, + * >0 if OK and we want to replace standard actions. + */ + public function afterPDFCreation($parameters, &$pdfhandler, &$action) + { + global $conf, $user, $langs; + global $hookmanager; - $outputlangs = $langs; + $outputlangs = $langs; - $ret = 0; $deltemp = array(); - dol_syslog(get_class($this).'::executeHooks action='.$action); + $ret = 0; $deltemp = array(); + dol_syslog(get_class($this).'::executeHooks action='.$action); - /* print_r($parameters); print_r($object); echo "action: " . $action; */ - if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' - { - } + /* print_r($parameters); print_r($object); echo "action: " . $action; */ + if (in_array($parameters['currentcontext'], array('somecontext1', 'somecontext2'))) // do something only for the context 'somecontext1' or 'somecontext2' + { + } - return $ret; - } + return $ret; + } - /** - * Overloading the loadDataForCustomReports function : returns data to complete the customreport tool - * - * @param array $parameters Hook metadatas (context, etc...) - * @param string $action Current action (if set). Generally create or edit or null - * @param HookManager $hookmanager Hook manager propagated to allow calling another hook - * @return int < 0 on error, 0 on success, 1 to replace standard code - */ - public function loadDataForCustomReports($parameters, &$action, $hookmanager) - { - global $conf, $user, $langs; + /** + * Overloading the loadDataForCustomReports function : returns data to complete the customreport tool + * + * @param array $parameters Hook metadatas (context, etc...) + * @param string $action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + public function loadDataForCustomReports($parameters, &$action, $hookmanager) + { + global $conf, $user, $langs; - $langs->load("mymodule@mymodule"); + $langs->load("mymodule@mymodule"); - $this->results = array(); + $this->results = array(); - $head = array(); - $h = 0; + $head = array(); + $h = 0; - if ($parameters['tabfamily'] == 'mymodule') { - $head[$h][0] = dol_buildpath('/module/index.php', 1); - $head[$h][1] = $langs->trans("Home"); - $head[$h][2] = 'home'; - $h++; + if ($parameters['tabfamily'] == 'mymodule') { + $head[$h][0] = dol_buildpath('/module/index.php', 1); + $head[$h][1] = $langs->trans("Home"); + $head[$h][2] = 'home'; + $h++; - $this->results['title'] = $langs->trans("MyModule"); - $this->results['picto'] = 'mymodule@mymodule'; - } + $this->results['title'] = $langs->trans("MyModule"); + $this->results['picto'] = 'mymodule@mymodule'; + } - $head[$h][0] = 'customreports.php?objecttype='.$parameters['objecttype'].(empty($parameters['tabfamily']) ? '' : '&tabfamily='.$parameters['tabfamily']); - $head[$h][1] = $langs->trans("CustomReports"); - $head[$h][2] = 'customreports'; + $head[$h][0] = 'customreports.php?objecttype='.$parameters['objecttype'].(empty($parameters['tabfamily']) ? '' : '&tabfamily='.$parameters['tabfamily']); + $head[$h][1] = $langs->trans("CustomReports"); + $head[$h][2] = 'customreports'; - $this->results['head'] = $head; + $this->results['head'] = $head; - return 1; - } + return 1; + } - /** - * Overloading the restrictedArea function : check permission on an object - * - * @param array $parameters Hook metadatas (context, etc...) - * @param string $action Current action (if set). Generally create or edit or null - * @param HookManager $hookmanager Hook manager propagated to allow calling another hook - * @return int <0 if KO, - * =0 if OK but we want to process standard actions too, - * >0 if OK and we want to replace standard actions. - */ - public function restrictedArea($parameters, &$action, $hookmanager) - { - global $user; + /** + * Overloading the restrictedArea function : check permission on an object + * + * @param array $parameters Hook metadatas (context, etc...) + * @param string $action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int <0 if KO, + * =0 if OK but we want to process standard actions too, + * >0 if OK and we want to replace standard actions. + */ + public function restrictedArea($parameters, &$action, $hookmanager) + { + global $user; - if ($parameters['features'] == 'myobject') { - if ($user->rights->mymodule->myobject->read) { - $this->results['result'] = 1; - return 1; - } else { - $this->results['result'] = 0; - return 1; - } - } + if ($parameters['features'] == 'myobject') { + if ($user->rights->mymodule->myobject->read) { + $this->results['result'] = 1; + return 1; + } else { + $this->results['result'] = 0; + return 1; + } + } - return 0; - } + return 0; + } - /* Add here any other hooked methods... */ + /* Add here any other hooked methods... */ } diff --git a/htdocs/modulebuilder/template/class/api_mymodule.class.php b/htdocs/modulebuilder/template/class/api_mymodule.class.php index 8477e3efdf6..f84210b9198 100644 --- a/htdocs/modulebuilder/template/class/api_mymodule.class.php +++ b/htdocs/modulebuilder/template/class/api_mymodule.class.php @@ -36,338 +36,338 @@ dol_include_once('/mymodule/class/myobject.class.php'); */ class MyModuleApi extends DolibarrApi { - /** - * @var MyObject $myobject {@type MyObject} - */ - public $myobject; + /** + * @var MyObject $myobject {@type MyObject} + */ + public $myobject; - /** - * Constructor - * - * @url GET / - * - */ - public function __construct() - { - global $db, $conf; - $this->db = $db; - $this->myobject = new MyObject($this->db); - } + /** + * Constructor + * + * @url GET / + * + */ + public function __construct() + { + global $db, $conf; + $this->db = $db; + $this->myobject = new MyObject($this->db); + } - /** - * Get properties of a myobject object - * - * Return an array with myobject informations - * - * @param int $id ID of myobject - * @return array|mixed data without useless information - * - * @url GET myobjects/{id} - * - * @throws RestException - */ - public function get($id) - { - if (!DolibarrApiAccess::$user->rights->mymodule->read) { - throw new RestException(401); - } + /** + * Get properties of a myobject object + * + * Return an array with myobject informations + * + * @param int $id ID of myobject + * @return array|mixed data without useless information + * + * @url GET myobjects/{id} + * + * @throws RestException + */ + public function get($id) + { + if (!DolibarrApiAccess::$user->rights->mymodule->read) { + throw new RestException(401); + } - $result = $this->myobject->fetch($id); - if (!$result) { - throw new RestException(404, 'MyObject not found'); - } + $result = $this->myobject->fetch($id); + if (!$result) { + throw new RestException(404, 'MyObject not found'); + } - if (!DolibarrApi::_checkAccessToResource('myobject', $this->myobject->id, 'mymodule_myobject')) { - throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); - } + if (!DolibarrApi::_checkAccessToResource('myobject', $this->myobject->id, 'mymodule_myobject')) { + throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); + } - return $this->_cleanObjectDatas($this->myobject); - } + return $this->_cleanObjectDatas($this->myobject); + } - /** - * List myobjects - * - * Get a list of myobjects - * - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')" - * @return array Array of order objects - * - * @throws RestException - * - * @url GET /myobjects/ - */ - public function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '') - { - global $db, $conf; + /** + * List myobjects + * + * Get a list of myobjects + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')" + * @return array Array of order objects + * + * @throws RestException + * + * @url GET /myobjects/ + */ + public function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '') + { + global $db, $conf; - $obj_ret = array(); - $tmpobject = new MyObject($db); + $obj_ret = array(); + $tmpobject = new MyObject($db); - if (!DolibarrApiAccess::$user->rights->bbb->read) { - throw new RestException(401); - } + if (!DolibarrApiAccess::$user->rights->bbb->read) { + throw new RestException(401); + } - $socid = DolibarrApiAccess::$user->socid ? DolibarrApiAccess::$user->socid : ''; + $socid = DolibarrApiAccess::$user->socid ? DolibarrApiAccess::$user->socid : ''; - $restrictonsocid = 0; // Set to 1 if there is a field socid in table of object + $restrictonsocid = 0; // Set to 1 if there is a field socid in table of object - // If the internal user must only see his customers, force searching by him - $search_sale = 0; - if ($restrictonsocid && !DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + // If the internal user must only see his customers, force searching by him + $search_sale = 0; + if ($restrictonsocid && !DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; - $sql = "SELECT t.rowid"; - if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) - $sql .= " FROM ".MAIN_DB_PREFIX.$tmpobject->table_element." as t"; + $sql = "SELECT t.rowid"; + if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql .= " FROM ".MAIN_DB_PREFIX.$tmpobject->table_element." as t"; - if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale - $sql .= " WHERE 1 = 1"; + if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + $sql .= " WHERE 1 = 1"; - // Example of use $mode - //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; - //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; + // Example of use $mode + //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; + //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; - if ($tmpobject->ismultientitymanaged) $sql .= ' AND t.entity IN ('.getEntity('myobject').')'; - if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= " AND t.fk_soc = sc.fk_soc"; - if ($restrictonsocid && $socid) $sql .= " AND t.fk_soc = ".$socid; - if ($restrictonsocid && $search_sale > 0) $sql .= " AND t.rowid = sc.fk_soc"; // Join for the needed table to filter by sale - // Insert sale filter - if ($restrictonsocid && $search_sale > 0) { - $sql .= " AND sc.fk_user = ".$search_sale; - } - if ($sqlfilters) - { - if (!DolibarrApi::_checkFilters($sqlfilters)) { - throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters); - } - $regexstring = '\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)'; - $sql .= " AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")"; - } + if ($tmpobject->ismultientitymanaged) $sql .= ' AND t.entity IN ('.getEntity('myobject').')'; + if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= " AND t.fk_soc = sc.fk_soc"; + if ($restrictonsocid && $socid) $sql .= " AND t.fk_soc = ".$socid; + if ($restrictonsocid && $search_sale > 0) $sql .= " AND t.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + // Insert sale filter + if ($restrictonsocid && $search_sale > 0) { + $sql .= " AND sc.fk_user = ".$search_sale; + } + if ($sqlfilters) + { + if (!DolibarrApi::_checkFilters($sqlfilters)) { + throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters); + } + $regexstring = '\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)'; + $sql .= " AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")"; + } - $sql .= $db->order($sortfield, $sortorder); - if ($limit) { - if ($page < 0) { - $page = 0; - } - $offset = $limit * $page; + $sql .= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) { + $page = 0; + } + $offset = $limit * $page; - $sql .= $db->plimit($limit + 1, $offset); - } + $sql .= $db->plimit($limit + 1, $offset); + } - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - while ($i < $num) - { - $obj = $db->fetch_object($result); - $myobject_static = new MyObject($db); - if ($myobject_static->fetch($obj->rowid)) { - $obj_ret[] = $this->_cleanObjectDatas($myobject_static); - } - $i++; - } - } - else { - throw new RestException(503, 'Error when retrieving myobject list: '.$db->lasterror()); - } - if (!count($obj_ret)) { - throw new RestException(404, 'No myobject found'); - } - return $obj_ret; - } + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $myobject_static = new MyObject($db); + if ($myobject_static->fetch($obj->rowid)) { + $obj_ret[] = $this->_cleanObjectDatas($myobject_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieving myobject list: '.$db->lasterror()); + } + if (!count($obj_ret)) { + throw new RestException(404, 'No myobject found'); + } + return $obj_ret; + } - /** - * Create myobject object - * - * @param array $request_data Request datas - * @return int ID of myobject - * - * @throws RestException - * - * @url POST myobjects/ - */ - public function post($request_data = null) - { - if (!DolibarrApiAccess::$user->rights->mymodule->write) { - throw new RestException(401); - } - // Check mandatory fields - $result = $this->_validate($request_data); + /** + * Create myobject object + * + * @param array $request_data Request datas + * @return int ID of myobject + * + * @throws RestException + * + * @url POST myobjects/ + */ + public function post($request_data = null) + { + if (!DolibarrApiAccess::$user->rights->mymodule->write) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); - foreach ($request_data as $field => $value) { - $this->myobject->$field = $value; - } - if (!$this->myobject->create(DolibarrApiAccess::$user)) { - throw new RestException(500, "Error creating MyObject", array_merge(array($this->myobject->error), $this->myobject->errors)); - } - return $this->myobject->id; - } + foreach ($request_data as $field => $value) { + $this->myobject->$field = $value; + } + if (!$this->myobject->create(DolibarrApiAccess::$user)) { + throw new RestException(500, "Error creating MyObject", array_merge(array($this->myobject->error), $this->myobject->errors)); + } + return $this->myobject->id; + } - /** - * Update myobject - * - * @param int $id Id of myobject to update - * @param array $request_data Datas - * @return int - * - * @throws RestException - * - * @url PUT myobjects/{id} - */ - public function put($id, $request_data = null) - { - if (!DolibarrApiAccess::$user->rights->mymodule->write) { - throw new RestException(401); - } + /** + * Update myobject + * + * @param int $id Id of myobject to update + * @param array $request_data Datas + * @return int + * + * @throws RestException + * + * @url PUT myobjects/{id} + */ + public function put($id, $request_data = null) + { + if (!DolibarrApiAccess::$user->rights->mymodule->write) { + throw new RestException(401); + } - $result = $this->myobject->fetch($id); - if (!$result) { - throw new RestException(404, 'MyObject not found'); - } + $result = $this->myobject->fetch($id); + if (!$result) { + throw new RestException(404, 'MyObject not found'); + } - if (!DolibarrApi::_checkAccessToResource('myobject', $this->myobject->id, 'mymodule_myobject')) { - throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); - } + if (!DolibarrApi::_checkAccessToResource('myobject', $this->myobject->id, 'mymodule_myobject')) { + throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); + } - foreach ($request_data as $field => $value) { - if ($field == 'id') continue; - $this->myobject->$field = $value; - } + foreach ($request_data as $field => $value) { + if ($field == 'id') continue; + $this->myobject->$field = $value; + } - if ($this->myobject->update($id, DolibarrApiAccess::$user) > 0) - { - return $this->get($id); - } - else - { - throw new RestException(500, $this->myobject->error); - } - } + if ($this->myobject->update($id, DolibarrApiAccess::$user) > 0) + { + return $this->get($id); + } + else + { + throw new RestException(500, $this->myobject->error); + } + } - /** - * Delete myobject - * - * @param int $id MyObject ID - * @return array - * - * @throws RestException - * - * @url DELETE myobjects/{id} - */ - public function delete($id) - { - if (!DolibarrApiAccess::$user->rights->mymodule->delete) { - throw new RestException(401); - } - $result = $this->myobject->fetch($id); - if (!$result) { - throw new RestException(404, 'MyObject not found'); - } + /** + * Delete myobject + * + * @param int $id MyObject ID + * @return array + * + * @throws RestException + * + * @url DELETE myobjects/{id} + */ + public function delete($id) + { + if (!DolibarrApiAccess::$user->rights->mymodule->delete) { + throw new RestException(401); + } + $result = $this->myobject->fetch($id); + if (!$result) { + throw new RestException(404, 'MyObject not found'); + } - if (!DolibarrApi::_checkAccessToResource('myobject', $this->myobject->id, 'mymodule_myobject')) { - throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); - } + if (!DolibarrApi::_checkAccessToResource('myobject', $this->myobject->id, 'mymodule_myobject')) { + throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); + } - if (!$this->myobject->delete(DolibarrApiAccess::$user)) - { - throw new RestException(500, 'Error when deleting MyObject : '.$this->myobject->error); - } + if (!$this->myobject->delete(DolibarrApiAccess::$user)) + { + throw new RestException(500, 'Error when deleting MyObject : '.$this->myobject->error); + } - return array( - 'success' => array( - 'code' => 200, - 'message' => 'MyObject deleted' - ) - ); - } + return array( + 'success' => array( + 'code' => 200, + 'message' => 'MyObject deleted' + ) + ); + } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore - /** - * Clean sensible object datas - * - * @param object $object Object to clean - * @return array Array of cleaned object properties - */ - protected function _cleanObjectDatas($object) - { - // phpcs:enable - $object = parent::_cleanObjectDatas($object); + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + /** + * Clean sensible object datas + * + * @param object $object Object to clean + * @return array Array of cleaned object properties + */ + protected function _cleanObjectDatas($object) + { + // phpcs:enable + $object = parent::_cleanObjectDatas($object); - unset($object->rowid); - unset($object->canvas); + unset($object->rowid); + unset($object->canvas); - /*unset($object->name); - unset($object->lastname); - unset($object->firstname); - unset($object->civility_id); - unset($object->statut); - unset($object->state); - unset($object->state_id); - unset($object->state_code); - unset($object->region); - unset($object->region_code); - unset($object->country); - unset($object->country_id); - unset($object->country_code); - unset($object->barcode_type); - unset($object->barcode_type_code); - unset($object->barcode_type_label); - unset($object->barcode_type_coder); - unset($object->total_ht); - unset($object->total_tva); - unset($object->total_localtax1); - unset($object->total_localtax2); - unset($object->total_ttc); - unset($object->fk_account); - unset($object->comments); - unset($object->note); - unset($object->mode_reglement_id); - unset($object->cond_reglement_id); - unset($object->cond_reglement); - unset($object->shipping_method_id); - unset($object->fk_incoterms); - unset($object->label_incoterms); - unset($object->location_incoterms); + /*unset($object->name); + unset($object->lastname); + unset($object->firstname); + unset($object->civility_id); + unset($object->statut); + unset($object->state); + unset($object->state_id); + unset($object->state_code); + unset($object->region); + unset($object->region_code); + unset($object->country); + unset($object->country_id); + unset($object->country_code); + unset($object->barcode_type); + unset($object->barcode_type_code); + unset($object->barcode_type_label); + unset($object->barcode_type_coder); + unset($object->total_ht); + unset($object->total_tva); + unset($object->total_localtax1); + unset($object->total_localtax2); + unset($object->total_ttc); + unset($object->fk_account); + unset($object->comments); + unset($object->note); + unset($object->mode_reglement_id); + unset($object->cond_reglement_id); + unset($object->cond_reglement); + unset($object->shipping_method_id); + unset($object->fk_incoterms); + unset($object->label_incoterms); + unset($object->location_incoterms); */ - // If object has lines, remove $db property - if (isset($object->lines) && is_array($object->lines) && count($object->lines) > 0) { - $nboflines = count($object->lines); - for ($i = 0; $i < $nboflines; $i++) - { - $this->_cleanObjectDatas($object->lines[$i]); + // If object has lines, remove $db property + if (isset($object->lines) && is_array($object->lines) && count($object->lines) > 0) { + $nboflines = count($object->lines); + for ($i = 0; $i < $nboflines; $i++) + { + $this->_cleanObjectDatas($object->lines[$i]); - unset($object->lines[$i]->lines); - unset($object->lines[$i]->note); - } - } + unset($object->lines[$i]->lines); + unset($object->lines[$i]->note); + } + } - return $object; - } + return $object; + } - /** - * Validate fields before create or update object - * - * @param array $data Array of data to validate - * @return array - * - * @throws RestException - */ - private function _validate($data) - { - $myobject = array(); - foreach ($this->myobject->fields as $field => $propfield) { - if (in_array($field, array('rowid', 'entity', 'date_creation', 'tms', 'fk_user_creat')) || $propfield['notnull'] != 1) continue; // Not a mandatory field - if (!isset($data[$field])) - throw new RestException(400, "$field field missing"); - $myobject[$field] = $data[$field]; - } - return $myobject; - } + /** + * Validate fields before create or update object + * + * @param array $data Array of data to validate + * @return array + * + * @throws RestException + */ + private function _validate($data) + { + $myobject = array(); + foreach ($this->myobject->fields as $field => $propfield) { + if (in_array($field, array('rowid', 'entity', 'date_creation', 'tms', 'fk_user_creat')) || $propfield['notnull'] != 1) continue; // Not a mandatory field + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $myobject[$field] = $data[$field]; + } + return $myobject; + } } diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 656483d8f18..2070bedf568 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -90,16 +90,16 @@ class MyObject extends CommonObject // BEGIN MODULEBUILDER PROPERTIES /** - * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. - */ + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ public $fields = array( - 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'noteditable'=>1, 'notnull'=> 1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'noteditable'=>1, 'notnull'=> 1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'noteditable'=>0, 'default'=>'', 'notnull'=> 1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'), - 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>20), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth200', 'help'=>'Help text', 'showoncombobox'=>1), - 'amount' => array('type'=>'price', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for amount'), - 'qty' => array('type'=>'real', 'label'=>'Qty', 'enabled'=>1, 'visible'=>1, 'default'=>'0', 'position'=>45, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for quantity', 'css'=>'maxwidth75imp'), - 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'ThirdParty', 'visible'=> 1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'help'=>'LinkToThirparty'), + 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>20), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth200', 'help'=>'Help text', 'showoncombobox'=>1), + 'amount' => array('type'=>'price', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for amount'), + 'qty' => array('type'=>'real', 'label'=>'Qty', 'enabled'=>1, 'visible'=>1, 'default'=>'0', 'position'=>45, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for quantity', 'css'=>'maxwidth75imp'), + 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'ThirdParty', 'visible'=> 1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'help'=>'LinkToThirparty'), 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'enabled'=>1, 'visible'=>-1, 'position'=>52, 'notnull'=>-1, 'index'=>1), 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>3, 'position'=>60), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61), @@ -112,7 +112,7 @@ class MyObject extends CommonObject //'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>512), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'index'=>0, 'position'=>1000), 'model_pdf' => array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'notnull'=>-1, 'position'=>1010), - 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=> 1, 'default'=>0, 'index'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 9=>'Canceled')), + 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=> 1, 'default'=>0, 'index'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 9=>'Canceled')), ); /** @@ -131,13 +131,13 @@ class MyObject extends CommonObject public $entity; /** - * @var string label - */ - public $label; + * @var string label + */ + public $label; - /** - * @var string amount - */ + /** + * @var string amount + */ public $amount; /** @@ -146,28 +146,28 @@ class MyObject extends CommonObject public $status; /** - * @var integer|string date_creation - */ + * @var integer|string date_creation + */ public $date_creation; /** - * @var integer tms - */ + * @var integer tms + */ public $tms; /** - * @var int ID - */ + * @var int ID + */ public $fk_user_creat; /** - * @var int ID - */ + * @var int ID + */ public $fk_user_modif; /** - * @var string import_key - */ + * @var string import_key + */ public $import_key; // END MODULEBUILDER PROPERTIES @@ -273,86 +273,86 @@ class MyObject extends CommonObject public function createFromClone(User $user, $fromid) { global $langs, $extrafields; - $error = 0; + $error = 0; - dol_syslog(__METHOD__, LOG_DEBUG); + dol_syslog(__METHOD__, LOG_DEBUG); - $object = new self($this->db); + $object = new self($this->db); - $this->db->begin(); + $this->db->begin(); - // Load source object - $result = $object->fetchCommon($fromid); - if ($result > 0 && !empty($object->table_element_line)) $object->fetchLines(); + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) $object->fetchLines(); - // get lines so they will be clone - //foreach($this->lines as $line) - // $line->fetch_optionals(); + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); - // Reset some properties - unset($object->id); - unset($object->fk_user_creat); - unset($object->import_key); + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); - // Clear fields - $object->ref = empty($this->fields['ref']['default']) ? "copy_of_".$object->ref : $this->fields['ref']['default']; - $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; - $object->status = self::STATUS_DRAFT; - // ... - // Clear extrafields that are unique - if (is_array($object->array_options) && count($object->array_options) > 0) - { - $extrafields->fetch_name_optionals_label($this->table_element); - foreach ($object->array_options as $key => $option) - { - $shortkey = preg_replace('/options_/', '', $key); - if (!empty($extrafields->attributes[$this->element]['unique'][$shortkey])) - { - //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; - unset($object->array_options[$key]); - } - } - } + // Clear fields + $object->ref = empty($this->fields['ref']['default']) ? "copy_of_".$object->ref : $this->fields['ref']['default']; + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + $object->status = self::STATUS_DRAFT; + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) + { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) + { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->element]['unique'][$shortkey])) + { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } - // Create clone + // Create clone $object->context['createfromclone'] = 'createfromclone'; - $result = $object->createCommon($user); - if ($result < 0) { - $error++; - $this->error = $object->error; - $this->errors = $object->errors; - } + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } - if (!$error) - { - // copy internal contacts - if ($this->copy_linked_contact($object, 'internal') < 0) - { - $error++; - } - } + if (!$error) + { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) + { + $error++; + } + } - if (!$error) - { - // copy external contacts if same company - if (property_exists($this, 'socid') && $this->socid == $object->socid) - { - if ($this->copy_linked_contact($object, 'external') < 0) - $error++; - } - } + if (!$error) + { + // copy external contacts if same company + if (property_exists($this, 'socid') && $this->socid == $object->socid) + { + if ($this->copy_linked_contact($object, 'external') < 0) + $error++; + } + } - unset($object->context['createfromclone']); + unset($object->context['createfromclone']); - // End - if (!$error) { - $this->db->commit(); - return $object; - } else { - $this->db->rollback(); - return -1; - } + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } } /** @@ -439,10 +439,10 @@ class MyObject extends CommonObject $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); - $i = 0; - while ($i < min($limit, $num)) + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { - $obj = $this->db->fetch_object($resql); + $obj = $this->db->fetch_object($resql); $record = new self($this->db); $record->setVarsFromFetchObj($obj); @@ -714,53 +714,53 @@ class MyObject extends CommonObject return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'MYOBJECT_REOPEN'); } - /** - * Return a link to the object card (with optionaly the picto) - * - * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) - * @param string $option On what the link point to ('nolink', ...) - * @param int $notooltip 1=Disable tooltip - * @param string $morecss Add more css on link - * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking - * @return string String with URL - */ - public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) - { - global $conf, $langs, $hookmanager; + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; - if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips + if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips - $result = ''; + $result = ''; - $label = ''.$langs->trans("MyObject").''; - $label .= '
    '; - $label .= ''.$langs->trans('Ref').': '.$this->ref; - if (isset($this->status)) { - $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); - } + $label = ''.$langs->trans("MyObject").''; + $label .= '
    '; + $label .= ''.$langs->trans('Ref').': '.$this->ref; + if (isset($this->status)) { + $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); + } - $url = dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.$this->id; + $url = dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.$this->id; - if ($option != 'nolink') - { - // Add param to save lastsearch_values or not - $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); - if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) $add_save_lastsearch_values = 1; - if ($add_save_lastsearch_values) $url .= '&save_lastsearch_values=1'; - } + if ($option != 'nolink') + { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) $add_save_lastsearch_values = 1; + if ($add_save_lastsearch_values) $url .= '&save_lastsearch_values=1'; + } - $linkclose = ''; - if (empty($notooltip)) - { - if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) - { - $label = $langs->trans("ShowMyObject"); - $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; - } - $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; - $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; - } - else $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + $linkclose = ''; + if (empty($notooltip)) + { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) + { + $label = $langs->trans("ShowMyObject"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } + else $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); $linkstart = ''; @@ -810,7 +810,7 @@ class MyObject extends CommonObject else $result .= $hookmanager->resPrint; return $result; - } + } /** * Return label of the status @@ -823,7 +823,7 @@ class MyObject extends CommonObject return $this->LibStatut($this->status, $mode); } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** * Return the status * @@ -924,22 +924,22 @@ class MyObject extends CommonObject */ public function getLinesArray() { - $this->lines = array(); + $this->lines = array(); - $objectline = new MyObjectLine($this->db); - $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_myobject = '.$this->id)); + $objectline = new MyObjectLine($this->db); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_myobject = '.$this->id)); - if (is_numeric($result)) - { - $this->error = $this->error; - $this->errors = $this->errors; - return $result; - } - else - { - $this->lines = $result; - return $this->lines; - } + if (is_numeric($result)) + { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } + else + { + $this->lines = $result; + return $this->lines; + } } /** @@ -1047,10 +1047,10 @@ class MyObject extends CommonObject /** * Action executed by scheduler * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters * * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) */ - //public function doScheduledJob($param1, $param2, ...) public function doScheduledJob() { global $conf, $langs; diff --git a/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php b/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php index 7b1f49601c3..482455e103d 100644 --- a/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php +++ b/htdocs/modulebuilder/template/core/boxes/mymodulewidget1.php @@ -1,6 +1,6 @@ - * Copyright (C) 2018-2019 Frédéric France + * Copyright (C) 2018-2020 Frédéric France * Copyright (C) ---Put here your own copyright and developer email--- * * This program is free software: you can redistribute it and/or modify @@ -112,7 +112,7 @@ class mymodulewidget1 extends ModeleBoxes // Use configuration value for max lines count $this->max = $max; - //include_once DOL_DOCUMENT_ROOT . "/mymodule/class/mymodule.class.php"; + //dol_include_once("/mymodule/class/mymodule.class.php"); // Populate the head at runtime $text = $langs->trans("MyModuleBoxDescription", $max); @@ -194,18 +194,18 @@ class mymodulewidget1 extends ModeleBoxes ); } - /** - * Method to show box. Called by Dolibarr eatch time it wants to display the box. - * - * @param array $head Array with properties of box title - * @param array $contents Array with properties of box lines - * @param int $nooutput No print, only return string - * @return void - */ - public function showBox($head = null, $contents = null, $nooutput = 0) - { - // You may make your own code here… - // … or use the parent's class function using the provided head and contents templates - parent::showBox($this->info_box_head, $this->info_box_contents); - } + /** + * Method to show box. Called by Dolibarr eatch time it wants to display the box. + * + * @param array $head Array with properties of box title + * @param array $contents Array with properties of box lines + * @param int $nooutput No print, only return string + * @return void + */ + public function showBox($head = null, $contents = null, $nooutput = 0) + { + // You may make your own code here… + // … or use the parent's class function using the provided head and contents templates + parent::showBox($this->info_box_head, $this->info_box_contents); + } } diff --git a/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php b/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php index b6aa0399447..39b325924fc 100644 --- a/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php @@ -17,189 +17,189 @@ dol_include_once("/mymodule/class/myobject.class.php"); */ class mailing_mailinglist_mymodule_myobject extends MailingTargets { - // CHANGE THIS: Put here a name not already used - public $name = 'mailinglist_mymodule_myobject'; - // CHANGE THIS: Put here a description of your selector module - public $desc = 'My object emailing target selector'; - // CHANGE THIS: Set to 1 if selector is available for admin users only - public $require_admin = 0; + // CHANGE THIS: Put here a name not already used + public $name = 'mailinglist_mymodule_myobject'; + // CHANGE THIS: Put here a description of your selector module + public $desc = 'My object emailing target selector'; + // CHANGE THIS: Set to 1 if selector is available for admin users only + public $require_admin = 0; - public $enabled = 0; - public $require_module = array(); + public $enabled = 0; + public $require_module = array(); - /** - * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png - */ - public $picto = 'mymodule@mymodule'; + /** + * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png + */ + public $picto = 'mymodule@mymodule'; - /** - * @var DoliDB Database handler. - */ - public $db; + /** + * @var DoliDB Database handler. + */ + public $db; - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - public function __construct($db) - { - global $conf; + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct($db) + { + global $conf; - $this->db = $db; - if (is_array($conf->modules)) - { - $this->enabled = in_array('mymodule', $conf->modules) ? 1 : 0; - } - } + $this->db = $db; + if (is_array($conf->modules)) + { + $this->enabled = in_array('mymodule', $conf->modules) ? 1 : 0; + } + } - /** - * Affiche formulaire de filtre qui apparait dans page de selection des destinataires de mailings - * - * @return string Retourne zone select - */ - public function formFilter() - { - global $langs; - $langs->load("members"); + /** + * Affiche formulaire de filtre qui apparait dans page de selection des destinataires de mailings + * + * @return string Retourne zone select + */ + public function formFilter() + { + global $langs; + $langs->load("members"); - $form = new Form($this->db); + $form = new Form($this->db); - $arraystatus = array(1=>'Option 1', 2=>'Option 2'); + $arraystatus = array(1=>'Option 1', 2=>'Option 2'); - $s = ''; - $s .= $langs->trans("Status").': '; - $s .= ''; - $s .= '
    '; + $s = ''; + $s .= $langs->trans("Status").': '; + $s .= ''; + $s .= '
    '; - return $s; - } + return $s; + } - /** - * Renvoie url lien vers fiche de la source du destinataire du mailing - * - * @param int $id ID - * @return string Url lien - */ - public function url($id) - { - return '
    '.img_object('', "generic").''; - } + /** + * Renvoie url lien vers fiche de la source du destinataire du mailing + * + * @param int $id ID + * @return string Url lien + */ + public function url($id) + { + return ''.img_object('', "generic").''; + } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * This is the main function that returns the array of emails - * - * @param int $mailing_id Id of emailing - * @return int <0 if error, number of emails added if ok - */ - public function add_to_target($mailing_id) - { - // phpcs:enable - $target = array(); - $j = 0; + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * This is the main function that returns the array of emails + * + * @param int $mailing_id Id of emailing + * @return int <0 if error, number of emails added if ok + */ + public function add_to_target($mailing_id) + { + // phpcs:enable + $target = array(); + $j = 0; - $sql = " select rowid as id, email, firstname, lastname, plan, partner"; - $sql .= " from ".MAIN_DB_PREFIX."myobject"; - $sql .= " where email IS NOT NULL AND email != ''"; - if (GETPOSTISSET('filter') && GETPOST('filter', 'alphanohtml') != 'none') $sql .= " AND status = '".$this->db->escape(GETPOST('filter', 'alphanohtml'))."'"; - $sql .= " ORDER BY email"; + $sql = " select rowid as id, email, firstname, lastname, plan, partner"; + $sql .= " from ".MAIN_DB_PREFIX."myobject"; + $sql .= " where email IS NOT NULL AND email != ''"; + if (GETPOSTISSET('filter') && GETPOST('filter', 'alphanohtml') != 'none') $sql .= " AND status = '".$this->db->escape(GETPOST('filter', 'alphanohtml'))."'"; + $sql .= " ORDER BY email"; - // Stocke destinataires dans target - $result = $this->db->query($sql); - if ($result) - { - $num = $this->db->num_rows($result); - $i = 0; + // Stocke destinataires dans target + $result = $this->db->query($sql); + if ($result) + { + $num = $this->db->num_rows($result); + $i = 0; - dol_syslog("mailinglist_mymodule_myobject.modules.php: mailing ".$num." targets found"); + dol_syslog("mailinglist_mymodule_myobject.modules.php: mailing ".$num." targets found"); - $old = ''; - while ($i < $num) - { - $obj = $this->db->fetch_object($result); - if ($old <> $obj->email) - { - $target[$j] = array( - 'email' => $obj->email, - 'name' => $obj->lastname, - 'id' => $obj->id, - 'firstname' => $obj->firstname, - 'other' => $obj->plan.';'.$obj->partner, - 'source_url' => $this->url($obj->id), - 'source_id' => $obj->id, - 'source_type' => 'dolicloud' - ); - $old = $obj->email; - $j++; - } + $old = ''; + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + if ($old <> $obj->email) + { + $target[$j] = array( + 'email' => $obj->email, + 'name' => $obj->lastname, + 'id' => $obj->id, + 'firstname' => $obj->firstname, + 'other' => $obj->plan.';'.$obj->partner, + 'source_url' => $this->url($obj->id), + 'source_id' => $obj->id, + 'source_type' => 'dolicloud' + ); + $old = $obj->email; + $j++; + } - $i++; - } - } - else - { - dol_syslog($this->db->error()); - $this->error = $this->db->error(); - return -1; - } + $i++; + } + } + else + { + dol_syslog($this->db->error()); + $this->error = $this->db->error(); + return -1; + } - // You must fill the $target array with record like this - // $target[0]=array('email'=>'email_0','name'=>'name_0','firstname'=>'firstname_0'); - // ... - // $target[n]=array('email'=>'email_n','name'=>'name_n','firstname'=>'firstname_n'); + // You must fill the $target array with record like this + // $target[0]=array('email'=>'email_0','name'=>'name_0','firstname'=>'firstname_0'); + // ... + // $target[n]=array('email'=>'email_n','name'=>'name_n','firstname'=>'firstname_n'); - // Example: $target[0]=array('email'=>'myemail@mydomain.com','name'=>'Doe','firstname'=>'John'); + // Example: $target[0]=array('email'=>'myemail@mydomain.com','name'=>'Doe','firstname'=>'John'); - // ----- Your code end here ----- + // ----- Your code end here ----- - return parent::addTargetsToDatabase($mailing_id, $target); - } + return parent::addTargetsToDatabase($mailing_id, $target); + } - /** - * On the main mailing area, there is a box with statistics. - * If you want to add a line in this report you must provide an - * array of SQL request that returns two field: - * One called "label", One called "nb". - * - * @return array - */ - public function getSqlArrayForStats() - { - // CHANGE THIS: Optionnal + /** + * On the main mailing area, there is a box with statistics. + * If you want to add a line in this report you must provide an + * array of SQL request that returns two field: + * One called "label", One called "nb". + * + * @return array + */ + public function getSqlArrayForStats() + { + // CHANGE THIS: Optionnal - //var $statssql=array(); - //$this->statssql[0]="SELECT field1 as label, count(distinct(email)) as nb FROM mytable WHERE email IS NOT NULL"; + //var $statssql=array(); + //$this->statssql[0]="SELECT field1 as label, count(distinct(email)) as nb FROM mytable WHERE email IS NOT NULL"; - return array(); - } + return array(); + } - /** - * Return here number of distinct emails returned by your selector. - * For example if this selector is used to extract 500 different - * emails from a text file, this function must return 500. - * - * @param string $filter Filter - * @param string $option Options - * @return int Nb of recipients or -1 if KO - */ - public function getNbOfRecipients($filter = 1, $option = '') - { - $a = parent::getNbOfRecipients("select count(distinct(email)) as nb from ".MAIN_DB_PREFIX."myobject as p where email IS NOT NULL AND email != ''"); + /** + * Return here number of distinct emails returned by your selector. + * For example if this selector is used to extract 500 different + * emails from a text file, this function must return 500. + * + * @param string $filter Filter + * @param string $option Options + * @return int Nb of recipients or -1 if KO + */ + public function getNbOfRecipients($filter = 1, $option = '') + { + $a = parent::getNbOfRecipients("select count(distinct(email)) as nb from ".MAIN_DB_PREFIX."myobject as p where email IS NOT NULL AND email != ''"); - if ($a < 0) return -1; - return $a; - } + if ($a < 0) return -1; + return $a; + } } diff --git a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php index e51eeb51921..21ede6bfd58 100644 --- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php +++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2018-2019 Nicolas ZABOURI - * Copyright (C) 2019 Frédéric France + * Copyright (C) 2019-2020 Frédéric France * Copyright (C) ---Put here your own copyright and developer email--- * * This program is free software; you can redistribute it and/or modify @@ -33,419 +33,419 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; */ class modMyModule extends DolibarrModules { - /** - * Constructor. Define names, constants, directories, boxes, permissions - * - * @param DoliDB $db Database handler - */ - public function __construct($db) - { - global $langs, $conf; - $this->db = $db; + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param DoliDB $db Database handler + */ + public 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 = 500000; // TODO Go on page https://wiki.dolibarr.org/index.php/List_of_modules_id to reserve an id number for your module - // Key text used to identify module (for permissions, menus, etc...) - $this->rights_class = 'mymodule'; - // Family can be 'base' (core modules),'crm','financial','hr','projects','products','ecm','technic' (transverse modules),'interface' (link with external tools),'other','...' - // It is used to group modules by family in module setup page - $this->family = "other"; - // Module position in the family on 2 digits ('01', '10', '20', ...) - $this->module_position = '90'; - // Gives the possibility for the module, to provide his own family info and position of this family (Overwrite $this->family and $this->module_position. Avoid this) - //$this->familyinfo = array('myownfamily' => array('position' => '01', 'label' => $langs->trans("MyOwnFamily"))); - // Module label (no space allowed), used if translation string 'ModuleMyModuleName' not found (MyModule is name of module). - $this->name = preg_replace('/^mod/i', '', get_class($this)); - // Module description, used if translation string 'ModuleMyModuleDesc' not found (MyModule is name of module). - $this->description = "MyModuleDescription"; - // Used only if file README.md and README-LL.md not found. - $this->descriptionlong = "MyModule description (Long)"; - $this->editor_name = 'Editor name'; - $this->editor_url = 'https://www.example.com'; - // Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z' - $this->version = '1.0'; - // Url to the file with your last numberversion of this module - //$this->url_last_version = 'http://www.example.com/versionmodule.txt'; + // 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 = 500000; // TODO Go on page https://wiki.dolibarr.org/index.php/List_of_modules_id to reserve an id number for your module + // Key text used to identify module (for permissions, menus, etc...) + $this->rights_class = 'mymodule'; + // Family can be 'base' (core modules),'crm','financial','hr','projects','products','ecm','technic' (transverse modules),'interface' (link with external tools),'other','...' + // It is used to group modules by family in module setup page + $this->family = "other"; + // Module position in the family on 2 digits ('01', '10', '20', ...) + $this->module_position = '90'; + // Gives the possibility for the module, to provide his own family info and position of this family (Overwrite $this->family and $this->module_position. Avoid this) + //$this->familyinfo = array('myownfamily' => array('position' => '01', 'label' => $langs->trans("MyOwnFamily"))); + // Module label (no space allowed), used if translation string 'ModuleMyModuleName' not found (MyModule is name of module). + $this->name = preg_replace('/^mod/i', '', get_class($this)); + // Module description, used if translation string 'ModuleMyModuleDesc' not found (MyModule is name of module). + $this->description = "MyModuleDescription"; + // Used only if file README.md and README-LL.md not found. + $this->descriptionlong = "MyModule description (Long)"; + $this->editor_name = 'Editor name'; + $this->editor_url = 'https://www.example.com'; + // Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z' + $this->version = '1.0'; + // Url to the file with your last numberversion of this module + //$this->url_last_version = 'http://www.example.com/versionmodule.txt'; - // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) - $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - // Name of image file used for this module. - // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' - // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' - $this->picto = 'generic'; - // Define some features supported by module (triggers, login, substitutions, menus, css, etc...) - $this->module_parts = array( - // Set this to 1 if module has its own trigger directory (core/triggers) - 'triggers' => 0, - // Set this to 1 if module has its own login method file (core/login) - 'login' => 0, - // Set this to 1 if module has its own substitution function file (core/substitutions) - 'substitutions' => 0, - // Set this to 1 if module has its own menus handler directory (core/menus) - 'menus' => 0, - // Set this to 1 if module overwrite template dir (core/tpl) - 'tpl' => 0, - // Set this to 1 if module has its own barcode directory (core/modules/barcode) - 'barcode' => 0, - // Set this to 1 if module has its own models directory (core/modules/xxx) - 'models' => 0, - // Set this to 1 if module has its own theme directory (theme) - 'theme' => 0, - // Set this to relative path of css file if module has its own css file - 'css' => array( - // '/mymodule/css/mymodule.css.php', - ), - // Set this to relative path of js file if module must load a js on all pages - 'js' => array( - // '/mymodule/js/mymodule.js.php', - ), - // Set here all hooks context managed by module. To find available hook context, make a "grep -r '>initHooks(' *" on source code. You can also set hook context to 'all' - 'hooks' => array( - // 'data' => array( - // 'hookcontext1', - // 'hookcontext2', - // ), - // 'entity' => '0', - ), - // Set this to 1 if features of module are opened to external users - 'moduleforexternal' => 0, - ); - // Data directories to create when module is enabled. - // Example: this->dirs = array("/mymodule/temp","/mymodule/subdir"); - $this->dirs = array("/mymodule/temp"); - // Config pages. Put here list of php page, stored into mymodule/admin directory, to use to setup module. - $this->config_page_url = array("setup.php@mymodule"); - // Dependencies - // A condition to hide module - $this->hidden = false; - // List of module class names as string that must be enabled if this module is enabled. Example: array('always1'=>'modModuleToEnable1','always2'=>'modModuleToEnable2', 'FR1'=>'modModuleToEnableFR'...) - $this->depends = array(); - $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) - $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) - $this->langfiles = array("mymodule@mymodule"); - $this->phpmin = array(5, 5); // Minimum version of PHP required by module - $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module - $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) - $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) - //$this->automatic_activation = array('FR'=>'MyModuleWasAutomaticallyActivatedBecauseOfYourCountryChoice'); - //$this->always_enabled = true; // If true, can't be disabled + // 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); + // Name of image file used for this module. + // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' + // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' + $this->picto = 'generic'; + // Define some features supported by module (triggers, login, substitutions, menus, css, etc...) + $this->module_parts = array( + // Set this to 1 if module has its own trigger directory (core/triggers) + 'triggers' => 0, + // Set this to 1 if module has its own login method file (core/login) + 'login' => 0, + // Set this to 1 if module has its own substitution function file (core/substitutions) + 'substitutions' => 0, + // Set this to 1 if module has its own menus handler directory (core/menus) + 'menus' => 0, + // Set this to 1 if module overwrite template dir (core/tpl) + 'tpl' => 0, + // Set this to 1 if module has its own barcode directory (core/modules/barcode) + 'barcode' => 0, + // Set this to 1 if module has its own models directory (core/modules/xxx) + 'models' => 0, + // Set this to 1 if module has its own theme directory (theme) + 'theme' => 0, + // Set this to relative path of css file if module has its own css file + 'css' => array( + // '/mymodule/css/mymodule.css.php', + ), + // Set this to relative path of js file if module must load a js on all pages + 'js' => array( + // '/mymodule/js/mymodule.js.php', + ), + // Set here all hooks context managed by module. To find available hook context, make a "grep -r '>initHooks(' *" on source code. You can also set hook context to 'all' + 'hooks' => array( + // 'data' => array( + // 'hookcontext1', + // 'hookcontext2', + // ), + // 'entity' => '0', + ), + // Set this to 1 if features of module are opened to external users + 'moduleforexternal' => 0, + ); + // Data directories to create when module is enabled. + // Example: this->dirs = array("/mymodule/temp","/mymodule/subdir"); + $this->dirs = array("/mymodule/temp"); + // Config pages. Put here list of php page, stored into mymodule/admin directory, to use to setup module. + $this->config_page_url = array("setup.php@mymodule"); + // Dependencies + // A condition to hide module + $this->hidden = false; + // List of module class names as string that must be enabled if this module is enabled. Example: array('always1'=>'modModuleToEnable1','always2'=>'modModuleToEnable2', 'FR1'=>'modModuleToEnableFR'...) + $this->depends = array(); + $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) + $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) + $this->langfiles = array("mymodule@mymodule"); + $this->phpmin = array(5, 5); // Minimum version of PHP required by module + $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module + $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) + $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) + //$this->automatic_activation = array('FR'=>'MyModuleWasAutomaticallyActivatedBecauseOfYourCountryChoice'); + //$this->always_enabled = true; // If true, can't be disabled - // Constants - // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive) - // Example: $this->const=array(1 => array('MYMODULE_MYNEWCONST1', 'chaine', 'myvalue', 'This is a constant to add', 1), - // 2 => array('MYMODULE_MYNEWCONST2', 'chaine', 'myvalue', 'This is another constant to add', 0, 'current', 1) - // ); - $this->const = array( - // 1 => array('MYMODULE_MYCONSTANT', 'chaine', 'avalue', 'This is a constant to add', 1, 'allentities', 1) - ); + // Constants + // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive) + // Example: $this->const=array(1 => array('MYMODULE_MYNEWCONST1', 'chaine', 'myvalue', 'This is a constant to add', 1), + // 2 => array('MYMODULE_MYNEWCONST2', 'chaine', 'myvalue', 'This is another constant to add', 0, 'current', 1) + // ); + $this->const = array( + // 1 => array('MYMODULE_MYCONSTANT', 'chaine', 'avalue', 'This is a constant to add', 1, 'allentities', 1) + ); - // Some keys to add into the overwriting translation tables - /*$this->overwrite_translation = array( - 'en_US:ParentCompany'=>'Parent company or reseller', - 'fr_FR:ParentCompany'=>'Maison mère ou revendeur' - )*/ + // Some keys to add into the overwriting translation tables + /*$this->overwrite_translation = array( + 'en_US:ParentCompany'=>'Parent company or reseller', + 'fr_FR:ParentCompany'=>'Maison mère ou revendeur' + )*/ - if (!isset($conf->mymodule) || !isset($conf->mymodule->enabled)) { - $conf->mymodule = new stdClass(); - $conf->mymodule->enabled = 0; - } + if (!isset($conf->mymodule) || !isset($conf->mymodule->enabled)) { + $conf->mymodule = new stdClass(); + $conf->mymodule->enabled = 0; + } - // Array to add new pages in new tabs - $this->tabs = array(); - // Example: - // $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__'); // To add a new tab identified by code tabname1 - // $this->tabs[] = array('data'=>'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key. - // $this->tabs[] = array('data'=>'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname - // - // Where objecttype can be - // 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member) - // 'contact' to add a tab in contact view - // 'contract' to add a tab in contract view - // 'group' to add a tab in group view - // 'intervention' to add a tab in intervention view - // 'invoice' to add a tab in customer invoice view - // 'invoice_supplier' to add a tab in supplier invoice view - // 'member' to add a tab in fundation member view - // 'opensurveypoll' to add a tab in opensurvey poll view - // 'order' to add a tab in customer order view - // 'order_supplier' to add a tab in supplier order view - // 'payment' to add a tab in payment view - // 'payment_supplier' to add a tab in supplier payment view - // 'product' to add a tab in product view - // 'propal' to add a tab in propal view - // 'project' to add a tab in project view - // 'stock' to add a tab in stock view - // 'thirdparty' to add a tab in third party view - // 'user' to add a tab in user view + // Array to add new pages in new tabs + $this->tabs = array(); + // Example: + // $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:mylangfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__'); // To add a new tab identified by code tabname1 + // $this->tabs[] = array('data'=>'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@mymodule:$user->rights->othermodule->read:/mymodule/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key. + // $this->tabs[] = array('data'=>'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname + // + // Where objecttype can be + // 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member) + // 'contact' to add a tab in contact view + // 'contract' to add a tab in contract view + // 'group' to add a tab in group view + // 'intervention' to add a tab in intervention view + // 'invoice' to add a tab in customer invoice view + // 'invoice_supplier' to add a tab in supplier invoice view + // 'member' to add a tab in fundation member view + // 'opensurveypoll' to add a tab in opensurvey poll view + // 'order' to add a tab in customer order view + // 'order_supplier' to add a tab in supplier order view + // 'payment' to add a tab in payment view + // 'payment_supplier' to add a tab in supplier payment view + // 'product' to add a tab in product view + // 'propal' to add a tab in propal view + // 'project' to add a tab in project view + // 'stock' to add a tab in stock view + // 'thirdparty' to add a tab in third party view + // 'user' to add a tab in user view - // Dictionaries - $this->dictionaries = array(); - /* Example: - $this->dictionaries=array( - 'langs'=>'mymodule@mymodule', - // List of tables we want to see into dictonnary editor - 'tabname'=>array(MAIN_DB_PREFIX."table1", MAIN_DB_PREFIX."table2", MAIN_DB_PREFIX."table3"), - // Label of tables - 'tablib'=>array("Table1", "Table2", "Table3"), - // Request to select fields - 'tabsql'=>array('SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table1 as f', 'SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table2 as f', 'SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table3 as f'), - // Sort order - 'tabsqlsort'=>array("label ASC", "label ASC", "label ASC"), - // List of fields (result of select to show dictionary) - 'tabfield'=>array("code,label", "code,label", "code,label"), - // List of fields (list of fields to edit a record) - 'tabfieldvalue'=>array("code,label", "code,label", "code,label"), - // List of fields (list of fields for insert) - 'tabfieldinsert'=>array("code,label", "code,label", "code,label"), - // Name of columns with primary key (try to always name it 'rowid') - 'tabrowid'=>array("rowid", "rowid", "rowid"), - // Condition to show each dictionary - 'tabcond'=>array($conf->mymodule->enabled, $conf->mymodule->enabled, $conf->mymodule->enabled) - ); - */ + // Dictionaries + $this->dictionaries = array(); + /* Example: + $this->dictionaries=array( + 'langs'=>'mymodule@mymodule', + // List of tables we want to see into dictonnary editor + 'tabname'=>array(MAIN_DB_PREFIX."table1", MAIN_DB_PREFIX."table2", MAIN_DB_PREFIX."table3"), + // Label of tables + 'tablib'=>array("Table1", "Table2", "Table3"), + // Request to select fields + 'tabsql'=>array('SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table1 as f', 'SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table2 as f', 'SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table3 as f'), + // Sort order + 'tabsqlsort'=>array("label ASC", "label ASC", "label ASC"), + // List of fields (result of select to show dictionary) + 'tabfield'=>array("code,label", "code,label", "code,label"), + // List of fields (list of fields to edit a record) + 'tabfieldvalue'=>array("code,label", "code,label", "code,label"), + // List of fields (list of fields for insert) + 'tabfieldinsert'=>array("code,label", "code,label", "code,label"), + // Name of columns with primary key (try to always name it 'rowid') + 'tabrowid'=>array("rowid", "rowid", "rowid"), + // Condition to show each dictionary + 'tabcond'=>array($conf->mymodule->enabled, $conf->mymodule->enabled, $conf->mymodule->enabled) + ); + */ - // Boxes/Widgets - // Add here list of php file(s) stored in mymodule/core/boxes that contains a class to show a widget. - $this->boxes = array( - // 0 => array( - // 'file' => 'mymodulewidget1.php@mymodule', - // 'note' => 'Widget provided by MyModule', - // 'enabledbydefaulton' => 'Home', - // ), - // ... - ); + // Boxes/Widgets + // Add here list of php file(s) stored in mymodule/core/boxes that contains a class to show a widget. + $this->boxes = array( + // 0 => array( + // 'file' => 'mymodulewidget1.php@mymodule', + // 'note' => 'Widget provided by MyModule', + // 'enabledbydefaulton' => 'Home', + // ), + // ... + ); - // Cronjobs (List of cron jobs entries to add when module is enabled) - // unit_frequency must be 60 for minute, 3600 for hour, 86400 for day, 604800 for week - $this->cronjobs = array( - // 0 => array( - // 'label' => 'MyJob label', - // 'jobtype' => 'method', - // 'class' => '/mymodule/class/myobject.class.php', - // 'objectname' => 'MyObject', - // 'method' => 'doScheduledJob', - // 'parameters' => '', - // 'comment' => 'Comment', - // 'frequency' => 2, - // 'unitfrequency' => 3600, - // 'status' => 0, - // 'test' => '$conf->mymodule->enabled', - // 'priority' => 50, - // ), - ); - // Example: $this->cronjobs=array( - // 0=>array('label'=>'My label', 'jobtype'=>'method', 'class'=>'/dir/class/file.class.php', 'objectname'=>'MyClass', 'method'=>'myMethod', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50), - // 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50) - // ); + // Cronjobs (List of cron jobs entries to add when module is enabled) + // unit_frequency must be 60 for minute, 3600 for hour, 86400 for day, 604800 for week + $this->cronjobs = array( + // 0 => array( + // 'label' => 'MyJob label', + // 'jobtype' => 'method', + // 'class' => '/mymodule/class/myobject.class.php', + // 'objectname' => 'MyObject', + // 'method' => 'doScheduledJob', + // 'parameters' => '', + // 'comment' => 'Comment', + // 'frequency' => 2, + // 'unitfrequency' => 3600, + // 'status' => 0, + // 'test' => '$conf->mymodule->enabled', + // 'priority' => 50, + // ), + ); + // Example: $this->cronjobs=array( + // 0=>array('label'=>'My label', 'jobtype'=>'method', 'class'=>'/dir/class/file.class.php', 'objectname'=>'MyClass', 'method'=>'myMethod', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>2, 'unitfrequency'=>3600, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50), + // 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'param1, param2', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24, 'status'=>0, 'test'=>'$conf->mymodule->enabled', 'priority'=>50) + // ); - // Permissions provided by this module - $this->rights = array(); - $r = 0; - // Add here entries to declare new permissions - /* BEGIN MODULEBUILDER PERMISSIONS */ - $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - $this->rights[$r][1] = 'Read objects of MyModule'; // Permission label - $this->rights[$r][4] = 'myobject'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) - $this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) - $r++; - $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - $this->rights[$r][1] = 'Create/Update objects of MyModule'; // Permission label - $this->rights[$r][4] = 'myobject'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) - $this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) - $r++; - $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - $this->rights[$r][1] = 'Delete objects of MyModule'; // Permission label - $this->rights[$r][4] = 'myobject'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) - $this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) - $r++; - /* END MODULEBUILDER PERMISSIONS */ + // Permissions provided by this module + $this->rights = array(); + $r = 0; + // Add here entries to declare new permissions + /* BEGIN MODULEBUILDER PERMISSIONS */ + $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) + $this->rights[$r][1] = 'Read objects of MyModule'; // Permission label + $this->rights[$r][4] = 'myobject'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) + $this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) + $r++; + $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) + $this->rights[$r][1] = 'Create/Update objects of MyModule'; // Permission label + $this->rights[$r][4] = 'myobject'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) + $this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) + $r++; + $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) + $this->rights[$r][1] = 'Delete objects of MyModule'; // Permission label + $this->rights[$r][4] = 'myobject'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) + $this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->mymodule->level1->level2) + $r++; + /* END MODULEBUILDER PERMISSIONS */ - // Main menu entries to add - $this->menu = array(); - $r = 0; - // Add here entries to declare new menus - /* BEGIN MODULEBUILDER TOPMENU */ - $this->menu[$r++] = array( - 'fk_menu'=>'', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'top', // This is a Top menu entry - 'titre'=>'MyModule', - 'mainmenu'=>'mymodule', - 'leftmenu'=>'', - 'url'=>'/mymodule/mymoduleindex.php', - 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000 + $r, - 'enabled'=>'$conf->mymodule->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->mymodule->myobject->read', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); - /* END MODULEBUILDER TOPMENU */ - /* BEGIN MODULEBUILDER LEFTMENU MYOBJECT - $this->menu[$r++]=array( - 'fk_menu'=>'fk_mainmenu=mymodule', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'left', // This is a Top menu entry - 'titre'=>'MyObject', - 'mainmenu'=>'mymodule', - 'leftmenu'=>'myobject', - 'url'=>'/mymodule/mymoduleindex.php', - 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000+$r, - 'enabled'=>'$conf->mymodule->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->mymodule->myobject->read', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); - $this->menu[$r++]=array( - 'fk_menu'=>'fk_mainmenu=mymodule,fk_leftmenu=myobject', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'left', // This is a Left menu entry - 'titre'=>'List MyObject', - 'mainmenu'=>'mymodule', - 'leftmenu'=>'mymodule_myobject_list', - 'url'=>'/mymodule/myobject_list.php', - 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000+$r, - 'enabled'=>'$conf->mymodule->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->mymodule->myobject->read', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); - $this->menu[$r++]=array( - 'fk_menu'=>'fk_mainmenu=mymodule,fk_leftmenu=myobject', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'left', // This is a Left menu entry - 'titre'=>'New MyObject', - 'mainmenu'=>'mymodule', - 'leftmenu'=>'mymodule_myobject_new', - 'url'=>'/mymodule/myobject_page.php?action=create', - 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000+$r, - 'enabled'=>'$conf->mymodule->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->mymodule->myobject->write', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); - END MODULEBUILDER LEFTMENU MYOBJECT */ + // Main menu entries to add + $this->menu = array(); + $r = 0; + // Add here entries to declare new menus + /* BEGIN MODULEBUILDER TOPMENU */ + $this->menu[$r++] = array( + 'fk_menu'=>'', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode + 'type'=>'top', // This is a Top menu entry + 'titre'=>'MyModule', + 'mainmenu'=>'mymodule', + 'leftmenu'=>'', + 'url'=>'/mymodule/mymoduleindex.php', + 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>1000 + $r, + 'enabled'=>'$conf->mymodule->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'$user->rights->mymodule->myobject->read', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both + ); + /* END MODULEBUILDER TOPMENU */ + /* BEGIN MODULEBUILDER LEFTMENU MYOBJECT + $this->menu[$r++]=array( + 'fk_menu'=>'fk_mainmenu=mymodule', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode + 'type'=>'left', // This is a Top menu entry + 'titre'=>'MyObject', + 'mainmenu'=>'mymodule', + 'leftmenu'=>'myobject', + 'url'=>'/mymodule/mymoduleindex.php', + 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>1000+$r, + 'enabled'=>'$conf->mymodule->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. + 'perms'=>'$user->rights->mymodule->myobject->read', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both + ); + $this->menu[$r++]=array( + 'fk_menu'=>'fk_mainmenu=mymodule,fk_leftmenu=myobject', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode + 'type'=>'left', // This is a Left menu entry + 'titre'=>'List MyObject', + 'mainmenu'=>'mymodule', + 'leftmenu'=>'mymodule_myobject_list', + 'url'=>'/mymodule/myobject_list.php', + 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>1000+$r, + 'enabled'=>'$conf->mymodule->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->mymodule->myobject->read', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both + ); + $this->menu[$r++]=array( + 'fk_menu'=>'fk_mainmenu=mymodule,fk_leftmenu=myobject', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode + 'type'=>'left', // This is a Left menu entry + 'titre'=>'New MyObject', + 'mainmenu'=>'mymodule', + 'leftmenu'=>'mymodule_myobject_new', + 'url'=>'/mymodule/myobject_page.php?action=create', + 'langs'=>'mymodule@mymodule', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'position'=>1000+$r, + 'enabled'=>'$conf->mymodule->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->mymodule->myobject->write', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'target'=>'', + 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both + ); + END MODULEBUILDER LEFTMENU MYOBJECT */ - // Exports profiles provided by this module - $r = 1; - /* BEGIN MODULEBUILDER EXPORT MYOBJECT */ - /* - $langs->load("mymodule@mymodule"); - $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]='MyObjectLines'; // Translation key (used only if key ExportDataset_xxx_z not found) - $this->export_icon[$r]='myobject@mymodule'; - // Define $this->export_fields_array, $this->export_TypeFields_array and $this->export_entities_array - $keyforclass = 'MyObject'; $keyforclassfile='/mymobule/class/myobject.class.php'; $keyforelement='myobject@mymodule'; - include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php'; - //$this->export_fields_array[$r]['t.fieldtoadd']='FieldToAdd'; $this->export_TypeFields_array[$r]['t.fieldtoadd']='Text'; - //unset($this->export_fields_array[$r]['t.fieldtoremove']); - //$keyforclass = 'MyObjectLine'; $keyforclassfile='/mymodule/class/myobject.class.php'; $keyforelement='myobjectline@mymodule'; $keyforalias='tl'; + // Exports profiles provided by this module + $r = 1; + /* BEGIN MODULEBUILDER EXPORT MYOBJECT */ + /* + $langs->load("mymodule@mymodule"); + $this->export_code[$r]=$this->rights_class.'_'.$r; + $this->export_label[$r]='MyObjectLines'; // Translation key (used only if key ExportDataset_xxx_z not found) + $this->export_icon[$r]='myobject@mymodule'; + // Define $this->export_fields_array, $this->export_TypeFields_array and $this->export_entities_array + $keyforclass = 'MyObject'; $keyforclassfile='/mymobule/class/myobject.class.php'; $keyforelement='myobject@mymodule'; + include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php'; + //$this->export_fields_array[$r]['t.fieldtoadd']='FieldToAdd'; $this->export_TypeFields_array[$r]['t.fieldtoadd']='Text'; + //unset($this->export_fields_array[$r]['t.fieldtoremove']); + //$keyforclass = 'MyObjectLine'; $keyforclassfile='/mymodule/class/myobject.class.php'; $keyforelement='myobjectline@mymodule'; $keyforalias='tl'; //include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php'; - $keyforselect='myobject'; $keyforaliasextra='extra'; $keyforelement='myobject@mymodule'; - include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; - //$keyforselect='myobjectline'; $keyforaliasextra='extraline'; $keyforelement='myobjectline@mymodule'; - //include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; - //$this->export_dependencies_array[$r] = array('myobjectline'=>array('tl.rowid','tl.ref')); // To force to activate one or several fields if we select some fields that need same (like to select a unique key if we ask a field of a child to avoid the DISTINCT to discard them, or for computed field than need several other fields) - //$this->export_special_array[$r] = array('t.field'=>'...'); - //$this->export_examplevalues_array[$r] = array('t.field'=>'Example'); - //$this->export_help_array[$r] = array('t.field'=>'FieldDescHelp'); - $this->export_sql_start[$r]='SELECT DISTINCT '; - $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'myobject as t'; - //$this->export_sql_end[$r] =' LEFT JOIN '.MAIN_DB_PREFIX.'myobject_line as tl ON tl.fk_myobject = t.rowid'; - $this->export_sql_end[$r] .=' WHERE 1 = 1'; - $this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('myobject').')'; - $r++; */ - /* END MODULEBUILDER EXPORT MYOBJECT */ + $keyforselect='myobject'; $keyforaliasextra='extra'; $keyforelement='myobject@mymodule'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + //$keyforselect='myobjectline'; $keyforaliasextra='extraline'; $keyforelement='myobjectline@mymodule'; + //include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + //$this->export_dependencies_array[$r] = array('myobjectline'=>array('tl.rowid','tl.ref')); // To force to activate one or several fields if we select some fields that need same (like to select a unique key if we ask a field of a child to avoid the DISTINCT to discard them, or for computed field than need several other fields) + //$this->export_special_array[$r] = array('t.field'=>'...'); + //$this->export_examplevalues_array[$r] = array('t.field'=>'Example'); + //$this->export_help_array[$r] = array('t.field'=>'FieldDescHelp'); + $this->export_sql_start[$r]='SELECT DISTINCT '; + $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'myobject as t'; + //$this->export_sql_end[$r] =' LEFT JOIN '.MAIN_DB_PREFIX.'myobject_line as tl ON tl.fk_myobject = t.rowid'; + $this->export_sql_end[$r] .=' WHERE 1 = 1'; + $this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('myobject').')'; + $r++; */ + /* END MODULEBUILDER EXPORT MYOBJECT */ - // Imports profiles provided by this module - $r = 1; - /* BEGIN MODULEBUILDER IMPORT MYOBJECT */ - /* - $langs->load("mymodule@mymodule"); - $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]='MyObjectLines'; // Translation key (used only if key ExportDataset_xxx_z not found) - $this->export_icon[$r]='myobject@mymodule'; - $keyforclass = 'MyObject'; $keyforclassfile='/mymobule/class/myobject.class.php'; $keyforelement='myobject@mymodule'; - include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php'; - $keyforselect='myobject'; $keyforaliasextra='extra'; $keyforelement='myobject@mymodule'; - include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; - //$this->export_dependencies_array[$r]=array('mysubobject'=>'ts.rowid', 't.myfield'=>array('t.myfield2','t.myfield3')); // To force to activate one or several fields if we select some fields that need same (like to select a unique key if we ask a field of a child to avoid the DISTINCT to discard them, or for computed field than need several other fields) - $this->export_sql_start[$r]='SELECT DISTINCT '; - $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'myobject as t'; - $this->export_sql_end[$r] .=' WHERE 1 = 1'; - $this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('myobject').')'; - $r++; */ - /* END MODULEBUILDER IMPORT MYOBJECT */ - } + // Imports profiles provided by this module + $r = 1; + /* BEGIN MODULEBUILDER IMPORT MYOBJECT */ + /* + $langs->load("mymodule@mymodule"); + $this->export_code[$r]=$this->rights_class.'_'.$r; + $this->export_label[$r]='MyObjectLines'; // Translation key (used only if key ExportDataset_xxx_z not found) + $this->export_icon[$r]='myobject@mymodule'; + $keyforclass = 'MyObject'; $keyforclassfile='/mymobule/class/myobject.class.php'; $keyforelement='myobject@mymodule'; + include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php'; + $keyforselect='myobject'; $keyforaliasextra='extra'; $keyforelement='myobject@mymodule'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + //$this->export_dependencies_array[$r]=array('mysubobject'=>'ts.rowid', 't.myfield'=>array('t.myfield2','t.myfield3')); // To force to activate one or several fields if we select some fields that need same (like to select a unique key if we ask a field of a child to avoid the DISTINCT to discard them, or for computed field than need several other fields) + $this->export_sql_start[$r]='SELECT DISTINCT '; + $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'myobject as t'; + $this->export_sql_end[$r] .=' WHERE 1 = 1'; + $this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('myobject').')'; + $r++; */ + /* END MODULEBUILDER IMPORT MYOBJECT */ + } - /** - * Function called when module is enabled. - * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. - * It also creates data directories - * - * @param string $options Options when enabling module ('', 'noboxes') - * @return int 1 if OK, 0 if KO - */ - public function init($options = '') - { - global $conf, $langs; + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + public function init($options = '') + { + global $conf, $langs; - $result = $this->_load_tables('/mymodule/sql/'); - if ($result < 0) return -1; // Do not activate module if error 'not allowed' returned when loading module SQL queries (the _load_table run sql with run_sql with the error allowed parameter set to 'default') + $result = $this->_load_tables('/mymodule/sql/'); + if ($result < 0) return -1; // Do not activate module if error 'not allowed' returned when loading module SQL queries (the _load_table run sql with run_sql with the error allowed parameter set to 'default') - // Create extrafields during init - //include_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - //$extrafields = new ExtraFields($this->db); - //$result1=$extrafields->addExtraField('myattr1', "New Attr 1 label", 'boolean', 1, 3, 'thirdparty', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); - //$result2=$extrafields->addExtraField('myattr2', "New Attr 2 label", 'varchar', 1, 10, 'project', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); - //$result3=$extrafields->addExtraField('myattr3', "New Attr 3 label", 'varchar', 1, 10, 'bank_account', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); - //$result4=$extrafields->addExtraField('myattr4', "New Attr 4 label", 'select', 1, 3, 'thirdparty', 0, 1, '', array('options'=>array('code1'=>'Val1','code2'=>'Val2','code3'=>'Val3')), 1,'', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); - //$result5=$extrafields->addExtraField('myattr5', "New Attr 5 label", 'text', 1, 10, 'user', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); + // Create extrafields during init + //include_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + //$extrafields = new ExtraFields($this->db); + //$result1=$extrafields->addExtraField('mymodule_myattr1', "New Attr 1 label", 'boolean', 1, 3, 'thirdparty', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); + //$result2=$extrafields->addExtraField('mymodule_myattr2', "New Attr 2 label", 'varchar', 1, 10, 'project', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); + //$result3=$extrafields->addExtraField('mymodule_myattr3', "New Attr 3 label", 'varchar', 1, 10, 'bank_account', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); + //$result4=$extrafields->addExtraField('mymodule_myattr4', "New Attr 4 label", 'select', 1, 3, 'thirdparty', 0, 1, '', array('options'=>array('code1'=>'Val1','code2'=>'Val2','code3'=>'Val3')), 1,'', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); + //$result5=$extrafields->addExtraField('mymodule_myattr5', "New Attr 5 label", 'text', 1, 10, 'user', 0, 0, '', '', 1, '', 0, 0, '', '', 'mymodule@mymodule', '$conf->mymodule->enabled'); - // Permissions - $this->remove($options); + // Permissions + $this->remove($options); - $sql = array(); + $sql = array(); - // ODT template - /* - $src=DOL_DOCUMENT_ROOT.'/install/doctemplates/mymodule/template_myobjects.odt'; - $dirodt=DOL_DATA_ROOT.'/doctemplates/mymodule'; - $dest=$dirodt.'/template_myobjects.odt'; + // ODT template + /* + $src=DOL_DOCUMENT_ROOT.'/install/doctemplates/mymodule/template_myobjects.odt'; + $dirodt=DOL_DATA_ROOT.'/doctemplates/mymodule'; + $dest=$dirodt.'/template_myobjects.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; - } - } + 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->db->escape($this->const[0][2])."' AND type = 'mymodule' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','mymodule',".$conf->entity.")" - ); - */ + $sql = array( + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'mymodule' AND entity = ".$conf->entity, + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','mymodule',".$conf->entity.")" + ); + */ - return $this->_init($sql, $options); - } + 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 - */ - public function remove($options = '') - { - $sql = array(); - return $this->_remove($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 + */ + public function remove($options = '') + { + $sql = array(); + return $this->_remove($sql, $options); + } } diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php b/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php index 22be3dee4ed..98c2c94bc7b 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php @@ -47,14 +47,14 @@ class doc_generic_myobject_odt extends ModelePDFMyObject public $emetteur; /** - * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.5 = array(5, 5) - */ + * @var array Minimum version of PHP required by module. + * e.g.: PHP ≥ 5.5 = array(5, 5) + */ public $phpmin = array(5, 5); /** - * @var string Dolibarr version of the loaded document - */ + * @var string Dolibarr version of the loaded document + */ public $version = 'dolibarr'; @@ -63,12 +63,12 @@ class doc_generic_myobject_odt extends ModelePDFMyObject * * @param DoliDB $db Database handler */ - public function __construct($db) + public function __construct($db) { global $conf, $langs, $mysoc; // Load translation files required by the page - $langs->loadLangs(array("main", "companies")); + $langs->loadLangs(array("main", "companies")); $this->db = $db; $this->name = "ODT templates"; @@ -108,12 +108,12 @@ class doc_generic_myobject_odt extends ModelePDFMyObject * @param Translate $langs Lang object to use for output * @return string Description */ - public function info($langs) + public function info($langs) { global $conf, $langs; // Load translation files required by the page - $langs->loadLangs(array("errors", "companies")); + $langs->loadLangs(array("errors", "companies")); $form = new Form($this->db); @@ -170,12 +170,12 @@ class doc_generic_myobject_odt extends ModelePDFMyObject if ($nbofiles) { - $texte .= ''; + $texte .= ''; } $texte .= ''; @@ -191,7 +191,7 @@ class doc_generic_myobject_odt extends ModelePDFMyObject return $texte; } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** * Function to build a document on disk using the generic odt module. * @@ -203,9 +203,9 @@ class doc_generic_myobject_odt extends ModelePDFMyObject * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - public function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) + public function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { - // phpcs:enable + // phpcs:enable global $user, $langs, $conf, $mysoc, $hookmanager; if (empty($srctemplatepath)) @@ -271,8 +271,8 @@ class doc_generic_myobject_odt extends ModelePDFMyObject $newfileformat = substr($newfile, strrpos($newfile, '.') + 1); if (!empty($conf->global->MAIN_DOC_USE_TIMING)) { - $format = $conf->global->MAIN_DOC_USE_TIMING; - if ($format == '1') $format = '%Y%m%d%H%M%S'; + $format = $conf->global->MAIN_DOC_USE_TIMING; + if ($format == '1') $format = '%Y%m%d%H%M%S'; $filename = $newfiletmp.'-'.dol_print_date(dol_now(), $format).'.'.$newfileformat; } else @@ -304,10 +304,10 @@ class doc_generic_myobject_odt extends ModelePDFMyObject // 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->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use - $contactobject = $object->contact; - } + $socobject = $object->thirdparty; + // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + $contactobject = $object->contact; + } } else { @@ -338,7 +338,7 @@ class doc_generic_myobject_odt extends ModelePDFMyObject // Open and load template require_once ODTPHP_PATH.'odf.php'; try { - $odfHandler = new odf( + $odfHandler = new odf( $srctemplatepath, array( 'PATH_TO_TMP' => $conf->commande->dir_temp, @@ -367,7 +367,7 @@ class doc_generic_myobject_odt extends ModelePDFMyObject } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); + dol_syslog($e->getMessage(), LOG_INFO); } // Define substitution array @@ -404,7 +404,7 @@ class doc_generic_myobject_odt extends ModelePDFMyObject } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); + dol_syslog($e->getMessage(), LOG_INFO); } } // Replace tags of lines @@ -439,11 +439,11 @@ class doc_generic_myobject_odt extends ModelePDFMyObject } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); + dol_syslog($e->getMessage(), LOG_INFO); } catch (SegmentException $e) { - dol_syslog($e->getMessage(), LOG_INFO); + dol_syslog($e->getMessage(), LOG_INFO); } } $listlines->merge(); @@ -467,7 +467,7 @@ class doc_generic_myobject_odt extends ModelePDFMyObject } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); + dol_syslog($e->getMessage(), LOG_INFO); } } @@ -481,8 +481,8 @@ class doc_generic_myobject_odt extends ModelePDFMyObject try { $odfHandler->exportAsAttachedPDF($file); } catch (Exception $e) { - $this->error = $e->getMessage(); - dol_syslog($e->getMessage(), LOG_INFO); + $this->error = $e->getMessage(); + dol_syslog($e->getMessage(), LOG_INFO); return -1; } } @@ -490,8 +490,8 @@ class doc_generic_myobject_odt extends ModelePDFMyObject try { $odfHandler->saveToDisk($file); } catch (Exception $e) { - $this->error = $e->getMessage(); - dol_syslog($e->getMessage(), LOG_INFO); + $this->error = $e->getMessage(); + dol_syslog($e->getMessage(), LOG_INFO); return -1; } } diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php b/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php index 242ad38c077..ae5f5d1e876 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php @@ -98,15 +98,15 @@ class mod_myobject_advanced extends ModeleNumRefMyObject */ public function getExample() { - global $conf, $db, $langs, $mysoc; + global $conf, $db, $langs, $mysoc; - $object = new MyObject($db); - $object->initAsSpecimen(); + $object = new MyObject($db); + $object->initAsSpecimen(); /*$old_code_client = $mysoc->code_client; - $old_code_type = $mysoc->typent_code; - $mysoc->code_client = 'CCCCCCCCCC'; - $mysoc->typent_code = 'TTTTTTTTTT';*/ + $old_code_type = $mysoc->typent_code; + $mysoc->code_client = 'CCCCCCCCCC'; + $mysoc->typent_code = 'TTTTTTTTTT';*/ $numExample = $this->getNextValue($object); diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_standard.php b/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_standard.php index 471e09f4f7d..a611b6210bc 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_standard.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_standard.php @@ -57,7 +57,7 @@ class mod_myobject_standard extends ModeleNumRefMyObject public function info() { global $langs; - return $langs->trans("SimpleNumRefModelDesc", $this->prefix); + return $langs->trans("SimpleNumRefModelDesc", $this->prefix); } diff --git a/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php b/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php index 1be39ddde83..06e3498fca0 100644 --- a/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php +++ b/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php @@ -38,17 +38,17 @@ $langs->load("mymodule"); $total = 0; $ilink = 0; foreach ($linkedObjectBlock as $key => $objectlink) { - $ilink++; + $ilink++; - $trclass = 'oddeven'; - if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) $trclass .= ' liste_sub_total'; + $trclass = 'oddeven'; + if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) $trclass .= ' liste_sub_total'; ?>
    - - - + + + - + diff --git a/htdocs/modulebuilder/template/core/triggers/interface_99_modMyModule_MyModuleTriggers.class.php b/htdocs/modulebuilder/template/core/triggers/interface_99_modMyModule_MyModuleTriggers.class.php index dcee9eeaea5..4c5951dad70 100644 --- a/htdocs/modulebuilder/template/core/triggers/interface_99_modMyModule_MyModuleTriggers.class.php +++ b/htdocs/modulebuilder/template/core/triggers/interface_99_modMyModule_MyModuleTriggers.class.php @@ -40,278 +40,278 @@ require_once DOL_DOCUMENT_ROOT.'/core/triggers/dolibarrtriggers.class.php'; */ class InterfaceMyModuleTriggers extends DolibarrTriggers { - /** - * @var DoliDB Database handler - */ - protected $db; + /** + * @var DoliDB Database handler + */ + protected $db; - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - public function __construct($db) - { - $this->db = $db; + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct($db) + { + $this->db = $db; - $this->name = preg_replace('/^Interface/i', '', get_class($this)); - $this->family = "demo"; - $this->description = "MyModule triggers."; - // 'development', 'experimental', 'dolibarr' or version - $this->version = 'development'; - $this->picto = 'mymodule@mymodule'; - } + $this->name = preg_replace('/^Interface/i', '', get_class($this)); + $this->family = "demo"; + $this->description = "MyModule triggers."; + // 'development', 'experimental', 'dolibarr' or version + $this->version = 'development'; + $this->picto = 'mymodule@mymodule'; + } - /** - * Trigger name - * - * @return string Name of trigger file - */ - public function getName() - { - return $this->name; - } + /** + * Trigger name + * + * @return string Name of trigger file + */ + public function getName() + { + return $this->name; + } - /** - * Trigger description - * - * @return string Description of trigger file - */ - public function getDesc() - { - return $this->description; - } + /** + * Trigger description + * + * @return string Description of trigger file + */ + public function getDesc() + { + return $this->description; + } - /** - * Function called when a Dolibarrr business event is done. - * All functions "runTrigger" are triggered if file - * is inside directory core/triggers - * - * @param string $action Event action code - * @param CommonObject $object Object - * @param User $user Object user - * @param Translate $langs Object langs - * @param Conf $conf Object conf - * @return int <0 if KO, 0 if no triggered ran, >0 if OK - */ - public function runTrigger($action, $object, User $user, Translate $langs, Conf $conf) - { - if (empty($conf->mymodule->enabled)) return 0; // If module is not enabled, we do nothing + /** + * Function called when a Dolibarrr business event is done. + * All functions "runTrigger" are triggered if file + * is inside directory core/triggers + * + * @param string $action Event action code + * @param CommonObject $object Object + * @param User $user Object user + * @param Translate $langs Object langs + * @param Conf $conf Object conf + * @return int <0 if KO, 0 if no triggered ran, >0 if OK + */ + public function runTrigger($action, $object, User $user, Translate $langs, Conf $conf) + { + if (empty($conf->mymodule->enabled)) return 0; // If module is not enabled, we do nothing - // Put here code you want to execute when a Dolibarr business events occurs. - // Data and type of action are stored into $object and $action + // Put here code you want to execute when a Dolibarr business events occurs. + // Data and type of action are stored into $object and $action - switch ($action) { - // Users - //case 'USER_CREATE': - //case 'USER_MODIFY': - //case 'USER_NEW_PASSWORD': - //case 'USER_ENABLEDISABLE': - //case 'USER_DELETE': - //case 'USER_SETINGROUP': - //case 'USER_REMOVEFROMGROUP': + switch ($action) { + // Users + //case 'USER_CREATE': + //case 'USER_MODIFY': + //case 'USER_NEW_PASSWORD': + //case 'USER_ENABLEDISABLE': + //case 'USER_DELETE': + //case 'USER_SETINGROUP': + //case 'USER_REMOVEFROMGROUP': - // Actions - //case 'ACTION_MODIFY': - //case 'ACTION_CREATE': - //case 'ACTION_DELETE': + // Actions + //case 'ACTION_MODIFY': + //case 'ACTION_CREATE': + //case 'ACTION_DELETE': - // Groups - //case 'USERGROUP_CREATE': - //case 'USERGROUP_MODIFY': - //case 'USERGROUP_DELETE': + // Groups + //case 'USERGROUP_CREATE': + //case 'USERGROUP_MODIFY': + //case 'USERGROUP_DELETE': - // Companies - //case 'COMPANY_CREATE': - //case 'COMPANY_MODIFY': - //case 'COMPANY_DELETE': + // Companies + //case 'COMPANY_CREATE': + //case 'COMPANY_MODIFY': + //case 'COMPANY_DELETE': - // Contacts - //case 'CONTACT_CREATE': - //case 'CONTACT_MODIFY': - //case 'CONTACT_DELETE': - //case 'CONTACT_ENABLEDISABLE': + // Contacts + //case 'CONTACT_CREATE': + //case 'CONTACT_MODIFY': + //case 'CONTACT_DELETE': + //case 'CONTACT_ENABLEDISABLE': - // Products - //case 'PRODUCT_CREATE': - //case 'PRODUCT_MODIFY': - //case 'PRODUCT_DELETE': - //case 'PRODUCT_PRICE_MODIFY': - //case 'PRODUCT_SET_MULTILANGS': - //case 'PRODUCT_DEL_MULTILANGS': + // Products + //case 'PRODUCT_CREATE': + //case 'PRODUCT_MODIFY': + //case 'PRODUCT_DELETE': + //case 'PRODUCT_PRICE_MODIFY': + //case 'PRODUCT_SET_MULTILANGS': + //case 'PRODUCT_DEL_MULTILANGS': - //Stock mouvement - //case 'STOCK_MOVEMENT': + //Stock mouvement + //case 'STOCK_MOVEMENT': - //MYECMDIR - //case 'MYECMDIR_CREATE': - //case 'MYECMDIR_MODIFY': - //case 'MYECMDIR_DELETE': + //MYECMDIR + //case 'MYECMDIR_CREATE': + //case 'MYECMDIR_MODIFY': + //case 'MYECMDIR_DELETE': - // Customer orders - //case 'ORDER_CREATE': - //case 'ORDER_MODIFY': - //case 'ORDER_VALIDATE': - //case 'ORDER_DELETE': - //case 'ORDER_CANCEL': - //case 'ORDER_SENTBYMAIL': - //case 'ORDER_CLASSIFY_BILLED': - //case 'ORDER_SETDRAFT': - //case 'LINEORDER_INSERT': - //case 'LINEORDER_UPDATE': - //case 'LINEORDER_DELETE': + // Customer orders + //case 'ORDER_CREATE': + //case 'ORDER_MODIFY': + //case 'ORDER_VALIDATE': + //case 'ORDER_DELETE': + //case 'ORDER_CANCEL': + //case 'ORDER_SENTBYMAIL': + //case 'ORDER_CLASSIFY_BILLED': + //case 'ORDER_SETDRAFT': + //case 'LINEORDER_INSERT': + //case 'LINEORDER_UPDATE': + //case 'LINEORDER_DELETE': - // Supplier orders - //case 'ORDER_SUPPLIER_CREATE': - //case 'ORDER_SUPPLIER_MODIFY': - //case 'ORDER_SUPPLIER_VALIDATE': - //case 'ORDER_SUPPLIER_DELETE': - //case 'ORDER_SUPPLIER_APPROVE': - //case 'ORDER_SUPPLIER_REFUSE': - //case 'ORDER_SUPPLIER_CANCEL': - //case 'ORDER_SUPPLIER_SENTBYMAIL': - //case 'ORDER_SUPPLIER_DISPATCH': - //case 'LINEORDER_SUPPLIER_DISPATCH': - //case 'LINEORDER_SUPPLIER_CREATE': - //case 'LINEORDER_SUPPLIER_UPDATE': - //case 'LINEORDER_SUPPLIER_DELETE': + // Supplier orders + //case 'ORDER_SUPPLIER_CREATE': + //case 'ORDER_SUPPLIER_MODIFY': + //case 'ORDER_SUPPLIER_VALIDATE': + //case 'ORDER_SUPPLIER_DELETE': + //case 'ORDER_SUPPLIER_APPROVE': + //case 'ORDER_SUPPLIER_REFUSE': + //case 'ORDER_SUPPLIER_CANCEL': + //case 'ORDER_SUPPLIER_SENTBYMAIL': + //case 'ORDER_SUPPLIER_DISPATCH': + //case 'LINEORDER_SUPPLIER_DISPATCH': + //case 'LINEORDER_SUPPLIER_CREATE': + //case 'LINEORDER_SUPPLIER_UPDATE': + //case 'LINEORDER_SUPPLIER_DELETE': - // Proposals - //case 'PROPAL_CREATE': - //case 'PROPAL_MODIFY': - //case 'PROPAL_VALIDATE': - //case 'PROPAL_SENTBYMAIL': - //case 'PROPAL_CLOSE_SIGNED': - //case 'PROPAL_CLOSE_REFUSED': - //case 'PROPAL_DELETE': - //case 'LINEPROPAL_INSERT': - //case 'LINEPROPAL_UPDATE': - //case 'LINEPROPAL_DELETE': + // Proposals + //case 'PROPAL_CREATE': + //case 'PROPAL_MODIFY': + //case 'PROPAL_VALIDATE': + //case 'PROPAL_SENTBYMAIL': + //case 'PROPAL_CLOSE_SIGNED': + //case 'PROPAL_CLOSE_REFUSED': + //case 'PROPAL_DELETE': + //case 'LINEPROPAL_INSERT': + //case 'LINEPROPAL_UPDATE': + //case 'LINEPROPAL_DELETE': - // SupplierProposal - //case 'SUPPLIER_PROPOSAL_CREATE': - //case 'SUPPLIER_PROPOSAL_MODIFY': - //case 'SUPPLIER_PROPOSAL_VALIDATE': - //case 'SUPPLIER_PROPOSAL_SENTBYMAIL': - //case 'SUPPLIER_PROPOSAL_CLOSE_SIGNED': - //case 'SUPPLIER_PROPOSAL_CLOSE_REFUSED': - //case 'SUPPLIER_PROPOSAL_DELETE': - //case 'LINESUPPLIER_PROPOSAL_INSERT': - //case 'LINESUPPLIER_PROPOSAL_UPDATE': - //case 'LINESUPPLIER_PROPOSAL_DELETE': + // SupplierProposal + //case 'SUPPLIER_PROPOSAL_CREATE': + //case 'SUPPLIER_PROPOSAL_MODIFY': + //case 'SUPPLIER_PROPOSAL_VALIDATE': + //case 'SUPPLIER_PROPOSAL_SENTBYMAIL': + //case 'SUPPLIER_PROPOSAL_CLOSE_SIGNED': + //case 'SUPPLIER_PROPOSAL_CLOSE_REFUSED': + //case 'SUPPLIER_PROPOSAL_DELETE': + //case 'LINESUPPLIER_PROPOSAL_INSERT': + //case 'LINESUPPLIER_PROPOSAL_UPDATE': + //case 'LINESUPPLIER_PROPOSAL_DELETE': - // Contracts - //case 'CONTRACT_CREATE': - //case 'CONTRACT_MODIFY': - //case 'CONTRACT_ACTIVATE': - //case 'CONTRACT_CANCEL': - //case 'CONTRACT_CLOSE': - //case 'CONTRACT_DELETE': - //case 'LINECONTRACT_INSERT': - //case 'LINECONTRACT_UPDATE': - //case 'LINECONTRACT_DELETE': + // Contracts + //case 'CONTRACT_CREATE': + //case 'CONTRACT_MODIFY': + //case 'CONTRACT_ACTIVATE': + //case 'CONTRACT_CANCEL': + //case 'CONTRACT_CLOSE': + //case 'CONTRACT_DELETE': + //case 'LINECONTRACT_INSERT': + //case 'LINECONTRACT_UPDATE': + //case 'LINECONTRACT_DELETE': - // Bills - //case 'BILL_CREATE': - //case 'BILL_MODIFY': - //case 'BILL_VALIDATE': - //case 'BILL_UNVALIDATE': - //case 'BILL_SENTBYMAIL': - //case 'BILL_CANCEL': - //case 'BILL_DELETE': - //case 'BILL_PAYED': - //case 'LINEBILL_INSERT': - //case 'LINEBILL_UPDATE': - //case 'LINEBILL_DELETE': + // Bills + //case 'BILL_CREATE': + //case 'BILL_MODIFY': + //case 'BILL_VALIDATE': + //case 'BILL_UNVALIDATE': + //case 'BILL_SENTBYMAIL': + //case 'BILL_CANCEL': + //case 'BILL_DELETE': + //case 'BILL_PAYED': + //case 'LINEBILL_INSERT': + //case 'LINEBILL_UPDATE': + //case 'LINEBILL_DELETE': - //Supplier Bill - //case 'BILL_SUPPLIER_CREATE': - //case 'BILL_SUPPLIER_UPDATE': - //case 'BILL_SUPPLIER_DELETE': - //case 'BILL_SUPPLIER_PAYED': - //case 'BILL_SUPPLIER_UNPAYED': - //case 'BILL_SUPPLIER_VALIDATE': - //case 'BILL_SUPPLIER_UNVALIDATE': - //case 'LINEBILL_SUPPLIER_CREATE': - //case 'LINEBILL_SUPPLIER_UPDATE': - //case 'LINEBILL_SUPPLIER_DELETE': + //Supplier Bill + //case 'BILL_SUPPLIER_CREATE': + //case 'BILL_SUPPLIER_UPDATE': + //case 'BILL_SUPPLIER_DELETE': + //case 'BILL_SUPPLIER_PAYED': + //case 'BILL_SUPPLIER_UNPAYED': + //case 'BILL_SUPPLIER_VALIDATE': + //case 'BILL_SUPPLIER_UNVALIDATE': + //case 'LINEBILL_SUPPLIER_CREATE': + //case 'LINEBILL_SUPPLIER_UPDATE': + //case 'LINEBILL_SUPPLIER_DELETE': - // Payments - //case 'PAYMENT_CUSTOMER_CREATE': - //case 'PAYMENT_SUPPLIER_CREATE': - //case 'PAYMENT_ADD_TO_BANK': - //case 'PAYMENT_DELETE': + // Payments + //case 'PAYMENT_CUSTOMER_CREATE': + //case 'PAYMENT_SUPPLIER_CREATE': + //case 'PAYMENT_ADD_TO_BANK': + //case 'PAYMENT_DELETE': - // Online - //case 'PAYMENT_PAYBOX_OK': - //case 'PAYMENT_PAYPAL_OK': - //case 'PAYMENT_STRIPE_OK': + // Online + //case 'PAYMENT_PAYBOX_OK': + //case 'PAYMENT_PAYPAL_OK': + //case 'PAYMENT_STRIPE_OK': - // Donation - //case 'DON_CREATE': - //case 'DON_UPDATE': - //case 'DON_DELETE': + // Donation + //case 'DON_CREATE': + //case 'DON_UPDATE': + //case 'DON_DELETE': - // Interventions - //case 'FICHINTER_CREATE': - //case 'FICHINTER_MODIFY': - //case 'FICHINTER_VALIDATE': - //case 'FICHINTER_DELETE': - //case 'LINEFICHINTER_CREATE': - //case 'LINEFICHINTER_UPDATE': - //case 'LINEFICHINTER_DELETE': + // Interventions + //case 'FICHINTER_CREATE': + //case 'FICHINTER_MODIFY': + //case 'FICHINTER_VALIDATE': + //case 'FICHINTER_DELETE': + //case 'LINEFICHINTER_CREATE': + //case 'LINEFICHINTER_UPDATE': + //case 'LINEFICHINTER_DELETE': - // Members - //case 'MEMBER_CREATE': - //case 'MEMBER_VALIDATE': - //case 'MEMBER_SUBSCRIPTION': - //case 'MEMBER_MODIFY': - //case 'MEMBER_NEW_PASSWORD': - //case 'MEMBER_RESILIATE': - //case 'MEMBER_DELETE': + // Members + //case 'MEMBER_CREATE': + //case 'MEMBER_VALIDATE': + //case 'MEMBER_SUBSCRIPTION': + //case 'MEMBER_MODIFY': + //case 'MEMBER_NEW_PASSWORD': + //case 'MEMBER_RESILIATE': + //case 'MEMBER_DELETE': - // Categories - //case 'CATEGORY_CREATE': - //case 'CATEGORY_MODIFY': - //case 'CATEGORY_DELETE': - //case 'CATEGORY_SET_MULTILANGS': + // Categories + //case 'CATEGORY_CREATE': + //case 'CATEGORY_MODIFY': + //case 'CATEGORY_DELETE': + //case 'CATEGORY_SET_MULTILANGS': - // Projects - //case 'PROJECT_CREATE': - //case 'PROJECT_MODIFY': - //case 'PROJECT_DELETE': + // Projects + //case 'PROJECT_CREATE': + //case 'PROJECT_MODIFY': + //case 'PROJECT_DELETE': - // Project tasks - //case 'TASK_CREATE': - //case 'TASK_MODIFY': - //case 'TASK_DELETE': + // Project tasks + //case 'TASK_CREATE': + //case 'TASK_MODIFY': + //case 'TASK_DELETE': - // Task time spent - //case 'TASK_TIMESPENT_CREATE': - //case 'TASK_TIMESPENT_MODIFY': - //case 'TASK_TIMESPENT_DELETE': - //case 'PROJECT_ADD_CONTACT': - //case 'PROJECT_DELETE_CONTACT': - //case 'PROJECT_DELETE_RESOURCE': + // Task time spent + //case 'TASK_TIMESPENT_CREATE': + //case 'TASK_TIMESPENT_MODIFY': + //case 'TASK_TIMESPENT_DELETE': + //case 'PROJECT_ADD_CONTACT': + //case 'PROJECT_DELETE_CONTACT': + //case 'PROJECT_DELETE_RESOURCE': - // Shipping - //case 'SHIPPING_CREATE': - //case 'SHIPPING_MODIFY': - //case 'SHIPPING_VALIDATE': - //case 'SHIPPING_SENTBYMAIL': - //case 'SHIPPING_BILLED': - //case 'SHIPPING_CLOSED': - //case 'SHIPPING_REOPEN': - //case 'SHIPPING_DELETE': + // Shipping + //case 'SHIPPING_CREATE': + //case 'SHIPPING_MODIFY': + //case 'SHIPPING_VALIDATE': + //case 'SHIPPING_SENTBYMAIL': + //case 'SHIPPING_BILLED': + //case 'SHIPPING_CLOSED': + //case 'SHIPPING_REOPEN': + //case 'SHIPPING_DELETE': - // and more... + // and more... - default: - dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); - break; - } + default: + dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); + break; + } - return 0; - } + return 0; + } } diff --git a/htdocs/modulebuilder/template/css/mymodule.css.php b/htdocs/modulebuilder/template/css/mymodule.css.php index 58987d52b83..af1566c0869 100644 --- a/htdocs/modulebuilder/template/css/mymodule.css.php +++ b/htdocs/modulebuilder/template/css/mymodule.css.php @@ -32,6 +32,11 @@ if (!defined('NOLOGIN')) define('NOLOGIN', 1); // File must be accessed if (!defined('NOREQUIREHTML')) define('NOREQUIREHTML', 1); if (!defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); +session_cache_limiter('public'); +// false or '' = keep cache instruction added by server +// 'public' = remove cache instruction added by server +// and if no cache-control added later, a default cache delay (10800) will be added by PHP. + // Load Dolibarr environment $res = 0; // Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) @@ -48,14 +53,10 @@ if (!$res) die("Include of main fails"); require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; -session_cache_limiter('public'); -// false or '' = keep cache instruction added by server -// 'public' = remove cache instruction added by server and if no cache-control added later, a default cache delay (10800) will be added by PHP. - // Load user to have $user->conf loaded (not done by default here because of NOLOGIN constant defined) and load permission if we need to use them in CSS /*if (empty($user->id) && ! empty($_SESSION['dol_login'])) { - $user->fetch('',$_SESSION['dol_login']); + $user->fetch('',$_SESSION['dol_login']); $user->getrights(); }*/ @@ -70,10 +71,10 @@ else header('Cache-Control: no-cache'); ?> div.mainmenu.mymodule::before { - content: "\f249"; + content: "\f249"; } div.mainmenu.mymodule { - background-image: none; + background-image: none; } .myclasscss { diff --git a/htdocs/modulebuilder/template/mymoduleindex.php b/htdocs/modulebuilder/template/mymoduleindex.php index 2d9bdf2f1e6..4a3356f1d7e 100644 --- a/htdocs/modulebuilder/template/mymoduleindex.php +++ b/htdocs/modulebuilder/template/mymoduleindex.php @@ -88,7 +88,7 @@ if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) $langs->load("orders"); $sql = "SELECT c.rowid, c.ref, c.ref_client, c.total_ht, c.tva as total_tva, c.total_ttc, s.rowid as socid, s.nom as name, s.client, s.canvas"; - $sql.= ", s.code_client"; + $sql.= ", s.code_client"; $sql.= " FROM ".MAIN_DB_PREFIX."commande as c"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -117,21 +117,21 @@ if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) $obj = $db->fetch_object($resql); print ''; + $orderstatic->id=$obj->rowid; + $orderstatic->ref=$obj->ref; + $orderstatic->ref_client=$obj->ref_client; + $orderstatic->total_ht = $obj->total_ht; + $orderstatic->total_tva = $obj->total_tva; + $orderstatic->total_ttc = $obj->total_ttc; + print $orderstatic->getNomUrl(1); + print ''; print ''; print ''; @@ -172,7 +172,7 @@ $max = 3; if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) { $sql = "SELECT s.rowid, s.nom as name, s.client, s.datec, s.tms, s.canvas"; - $sql.= ", s.code_client"; + $sql.= ", s.code_client"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.client IN (1, 2, 3)"; @@ -192,7 +192,7 @@ if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) print ''; print ''; print ''; @@ -205,9 +205,9 @@ if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) $companystatic->id=$objp->rowid; $companystatic->name=$objp->name; $companystatic->client=$objp->client; - $companystatic->code_client = $objp->code_client; - $companystatic->code_fournisseur = $objp->code_fournisseur; - $companystatic->canvas=$objp->canvas; + $companystatic->code_client = $objp->code_client; + $companystatic->code_fournisseur = $objp->code_fournisseur; + $companystatic->canvas=$objp->canvas; print ''; print ''; print ''; + print ''; print ''; // Opportunity probability - print ''; - print ''; + print ''; print ''; // Opportunity amount - print ''; - print ''; + print ''; + print ''; print ''; } // Budget print ''; - print ''; + print ''; print ''; // Description @@ -667,7 +680,7 @@ if ($action == 'create' && $user->rights->projet->creer) print '"; } @@ -833,9 +846,22 @@ elseif ($object->id > 0) print ''; + print ''; print ''; // Opportunity probability - print ''; - print ''; + print ''; print ''; // Opportunity amount - print ''; - print ''; + print ''; + print ''; print ''; } @@ -923,7 +950,7 @@ elseif ($object->id > 0) // Budget print ''; - print ''; + print ''; print ''; // Description @@ -936,14 +963,14 @@ elseif ($object->id > 0) // Tags-Categories if ($conf->categorie->enabled) { - print '"; } diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 9035df18742..417a825a77d 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -68,7 +68,7 @@ class Project extends CommonObject /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'projectpub'; + public $picto = 'project'; /** * {@inheritdoc} @@ -316,7 +316,7 @@ class Project extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -405,7 +405,7 @@ class Project extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1026,29 +1026,36 @@ class Project extends CommonObject } /** - * Return clicable name (with picto eventually) + * Return clickable name (with picto eventually) * * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto - * @param string $option Variant ('', 'nolink') + * @param string $option Variant where the link point to ('', 'nolink') * @param int $addlabel 0=Default, 1=Add label into string, >1=Add first chars into string * @param string $moreinpopup Text to add into popup * @param string $sep Separator between ref and label if option addlabel is set * @param int $notooltip 1=Disable tooltip * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @param string $morecss More css on a link * @return string String with URL */ - public function getNomUrl($withpicto = 0, $option = '', $addlabel = 0, $moreinpopup = '', $sep = ' - ', $notooltip = 0, $save_lastsearch_value = -1) + public function getNomUrl($withpicto = 0, $option = '', $addlabel = 0, $moreinpopup = '', $sep = ' - ', $notooltip = 0, $save_lastsearch_value = -1, $morecss = '') { global $conf, $langs, $user, $hookmanager; if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips $result = ''; + if (! empty($conf->global->PROJECT_OPEN_ALWAYS_ON_TAB)) { + $option = $conf->global->PROJECT_OPEN_ALWAYS_ON_TAB; + } $label = ''; - if ($option != 'nolink') $label = ''.$langs->trans("ShowProject").''; + if ($option != 'nolink') $label = ''.$langs->trans("Project").''; $label .= ($label ? '
    ' : '').''.$langs->trans('Ref').': '.$this->ref; // The space must be after the : to not being explode when showing the title in img_picto $label .= ($label ? '
    ' : '').''.$langs->trans('Label').': '.$this->title; // The space must be after the : to not being explode when showing the title in img_picto + if (isset($this->public)) { + $label .= '
    '.$langs->trans("Visibility").": ".($this->public ? $langs->trans("SharedProject") : $langs->trans("PrivateProject")); + } if (!empty($this->thirdparty_name)) $label .= ($label ? '
    ' : '').''.$langs->trans('ThirdParty').': '.$this->thirdparty_name; // The space must be after the : to not being explode when showing the title in img_picto if (!empty($this->dateo)) @@ -1070,6 +1077,10 @@ class Project extends CommonObject { $url = DOL_URL_ROOT.'/projet/tasks.php?id='.$this->id; } + elseif ($option == 'preview') + { + $url = DOL_URL_ROOT.'/projet/element.php?id='.$this->id; + } else { $url = DOL_URL_ROOT.'/projet/card.php?id='.$this->id; @@ -1105,6 +1116,7 @@ class Project extends CommonObject if (!$this->public) $picto = 'project'; $linkstart = ''; $linkend = ''; diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index 6136198fd5e..41f6a76afb2 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -26,6 +26,7 @@ */ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; /** @@ -204,7 +205,7 @@ class Task extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -383,7 +384,7 @@ class Task extends CommonObject // Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/projet/document.php b/htdocs/projet/document.php index e3dafef1246..9b4c852100d 100644 --- a/htdocs/projet/document.php +++ b/htdocs/projet/document.php @@ -55,11 +55,12 @@ if ($id > 0 || !empty($ref)) { } // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 34dace09e93..23fa6551656 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -526,6 +526,32 @@ $listofreferent = array( */ ); +// Change rules for benefit calculation +if (! empty($conf->global->PROJECT_ELEMENTS_FOR_PLUS_MARGIN)) { + foreach($listofreferent as $key => $element) { + if ($listofreferent[$key]['margin'] == 'add') { + unset($listofreferent[$key]['margin']); + } + } + $newelementforplusmargin = explode(',', $conf->global->PROJECT_ELEMENTS_FOR_PLUS_MARGIN); + foreach($newelementforplusmargin as $value) { + $listofreferent[$value]['margin']='add'; + } +} +if (! empty($conf->global->PROJECT_ELEMENTS_FOR_MINUS_MARGIN)) { + foreach($listofreferent as $key => $element) { + if ($listofreferent[$key]['margin'] == 'add') { + unset($listofreferent[$key]['margin']); + } + } + $newelementforplusmargin = explode(',', $conf->global->PROJECT_ELEMENTS_FOR_MINUS_MARGIN); + foreach($newelementforplusmargin as $value) { + $listofreferent[$value]['margin']='minus'; + } +} + + + $parameters = array('listofreferent'=>$listofreferent); $resHook = $hookmanager->executeHooks('completeListOfReferent', $parameters, $object, $action); diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index df6d5b3a13f..f9cab81f43c 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -116,7 +116,7 @@ if ($resql) $listofoppstatus[$objp->rowid] = $objp->percent; $listofopplabel[$objp->rowid] = $objp->label; $listofoppcode[$objp->rowid] = $objp->code; - switch($objp->code) { + switch ($objp->code) { case 'PROSP': $colorseries[$objp->rowid] = "-".$badgeStatus0; break; @@ -318,7 +318,7 @@ if ($resql) } print '
    '; - print ''; - print ''; - print ''; - print ''; - print ''; diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php index 8febad854b7..bd4335f747f 100644 --- a/htdocs/projet/tasks/document.php +++ b/htdocs/projet/tasks/document.php @@ -51,11 +51,12 @@ $socid = 0; if (!$user->rights->projet->lire) accessforbidden(); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index 67131c29ef4..0aefa412571 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -45,12 +45,14 @@ $id = GETPOST('id', 'int'); $search_all = trim((GETPOST('search_all', 'alphanohtml') != '') ?GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml')); $search_categ = GETPOST("search_categ", 'alpha'); $search_project = GETPOST('search_project'); -if (!isset($_GET['search_projectstatus']) && !isset($_POST['search_projectstatus'])) + +$search_projectstatus = GETPOST('search_projectstatus'); +if (!isset($search_projectstatus) || $search_projectstatus === '') { if ($search_all != '') $search_projectstatus = -1; else $search_projectstatus = 1; } -else $search_projectstatus = GETPOST('search_projectstatus'); + $search_project_ref = GETPOST('search_project_ref'); $search_project_title = GETPOST('search_project_title'); $search_task_ref = GETPOST('search_task_ref'); @@ -441,7 +443,7 @@ else else $texthelp .= $langs->trans("TasksOnProjectsPublicDesc"); } -print_barre_liste($form->textwithpicto($title, $texthelp), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'project', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($form->textwithpicto($title, $texthelp), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'projecttask', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "Information"; $modelmail = "task"; @@ -886,7 +888,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/projet/tasks/stats/index.php b/htdocs/projet/tasks/stats/index.php index c758664d2c6..bbb275ef5df 100644 --- a/htdocs/projet/tasks/stats/index.php +++ b/htdocs/projet/tasks/stats/index.php @@ -67,7 +67,7 @@ llxHeader('', $langs->trans('Tasks')); $title = $langs->trans("TasksStatistics"); $dir = $conf->projet->dir_output.'/temp'; -print load_fiche_titre($title, '', 'project'); +print load_fiche_titre($title, '', 'projecttask'); dol_mkdir($dir); diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index ea74482b4a1..78f5039fe8a 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -270,7 +270,7 @@ if (($action == 'updateline' || $action == 'updatesplitline') && !$_POST["cancel $object->timespent_note = $_POST["timespent_note_line"]; $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_duration += ($_POST["new_durationmin"] ? $_POST["new_durationmin"] : 0) * 60; // We store duration in seconds 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")); @@ -1377,10 +1377,10 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) } } - // User + // By User if (!empty($arrayfields['author']['checked'])) { - print ''; @@ -1501,7 +1501,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) */ // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$task_time); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$task_time, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; diff --git a/htdocs/public/demo/demo.css b/htdocs/public/demo/demo.css index 9328a8ecd1b..b185f8c933f 100644 --- a/htdocs/public/demo/demo.css +++ b/htdocs/public/demo/demo.css @@ -105,8 +105,11 @@ img.demothumb { object-fit: contain; height: 140px; background-position-y: bottom; + background-position-x: right; +} +.demologo { + width: 200px; } - @media only screen and (max-width: 767px) { diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index c470055dbce..f0caf948770 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -274,13 +274,13 @@ print "\n"; print '
    '; print '
    '; -print ''; +print ''; print '
    '; print '
    '; print '
    '; print '
    '; -print '
    '.$langs->trans("DemoDesc").'

    '; +print '
    '.$langs->trans("DemoDesc").'

    '; print '
    '.$langs->trans("ChooseYourDemoProfil").'
    '; print '
    '; print '
    '; diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index 5b456893bf9..7f788a84671 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -113,9 +113,9 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $ $urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo); $width = 150; } - elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.png')) + elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.svg')) { - $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.png'; + $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.svg'; $width = 150; } @@ -130,7 +130,7 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $ print '>'; print ''; if (empty($conf->global->MAIN_HIDE_POWERED_BY)) { - print ''; + print ''; } print ''; } diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php index 195a7560631..04fe1f75fca 100644 --- a/htdocs/public/members/public_card.php +++ b/htdocs/public/members/public_card.php @@ -66,7 +66,7 @@ $extrafields = new ExtraFields($db); $morehead = ''; if (!empty($conf->global->MEMBER_PUBLIC_CSS)) $morehead = ''; -else $morehead = ''; +else $morehead = ''; llxHeaderVierge($langs->trans("MemberCard"), $morehead); diff --git a/htdocs/public/members/public_list.php b/htdocs/public/members/public_list.php index 0514c5ad565..459926707b8 100644 --- a/htdocs/public/members/public_list.php +++ b/htdocs/public/members/public_list.php @@ -101,7 +101,7 @@ $form = new Form($db); $morehead = ''; if (!empty($conf->global->MEMBER_PUBLIC_CSS)) $morehead = ''; -else $morehead = ''; +else $morehead = ''; llxHeaderVierge($langs->trans("ListOfValidatedPublicMembers"), $morehead); diff --git a/htdocs/public/onlinesign/newonlinesign.php b/htdocs/public/onlinesign/newonlinesign.php index 83e757b78f8..2378728a8d3 100644 --- a/htdocs/public/onlinesign/newonlinesign.php +++ b/htdocs/public/onlinesign/newonlinesign.php @@ -191,7 +191,7 @@ if ($urllogo) print '>'; print ''; if (empty($conf->global->MAIN_HIDE_POWERED_BY)) { - print ''; + print ''; } print ''; } diff --git a/htdocs/public/opensurvey/studs.php b/htdocs/public/opensurvey/studs.php index ef5458456c5..d0ce716bb7d 100644 --- a/htdocs/public/opensurvey/studs.php +++ b/htdocs/public/opensurvey/studs.php @@ -690,7 +690,7 @@ if ($object->allow_spy) { if (strpos($toutsujet[$i], '@') !== false) { $toutsujetdate = explode("@", $toutsujet[$i]); - $meilleursujet .= dol_print_date($toutsujetdate[0], 'daytext').' ('.dol_print_date($toutsujetdate[0], '%A').')'.' - '.$toutsujetdate[1]; + $meilleursujet .= dol_print_date($toutsujetdate[0], 'daytext').' ('.dol_print_date($toutsujetdate[0], '%A').') - '.$toutsujetdate[1]; } else { $meilleursujet .= dol_print_date($toutsujet[$i], 'daytext').' ('.dol_print_date($toutsujet[$i], '%A').')'; } diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index c3e6553cf92..ea7fd71c9e6 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -793,7 +793,7 @@ if ($urllogo) print '>'; print ''; if (empty($conf->global->MAIN_HIDE_POWERED_BY)) { - print ''; + print ''; } print ''; } @@ -1719,7 +1719,7 @@ if ($action != 'dopayment') if ((empty($paymentmethod) || $paymentmethod == 'paybox') && !empty($conf->paybox->enabled)) { - print '
    '; + print '
    '; print '
    '; print ''.$langs->trans("CreditOrDebitCard").''; print '
    '; @@ -1739,7 +1739,7 @@ if ($action != 'dopayment') if ((empty($paymentmethod) || $paymentmethod == 'stripe') && !empty($conf->stripe->enabled)) { - print '
    '; + print '
    '; print ''; print '
    '; print ''.$langs->trans("CreditOrDebitCard").''; @@ -1763,7 +1763,11 @@ if ($action != 'dopayment') { if (empty($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY)) $conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY = 'integral'; - print '
    '; + print '
    '; + if ($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY != 'integral') { + print '
     
    '; + } + print ' '; if ($conf->global->PAYPAL_API_INTEGRAL_OR_PAYPALONLY == 'integral') { print '
    '; @@ -1924,7 +1928,7 @@ if (preg_match('/^dopayment/', $action)) // If we choosed/click on the payment print '
    '; print ''; - print ''; + print ''; print '
    '; print '
    '; + print ''; $pathtofile = $listofmodules[strtolower($module)]['moduledescriptorrelpath']; + print ''; print ''; - print ''; + print ''; + print ''; } else { print ''.$langs->trans("FileNotYetGenerated").''; - print ''; + print ''; + print ''; } print ''; } @@ -3163,6 +3168,14 @@ elseif (!empty($module)) print '
    '; print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; print ''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; @@ -3113,13 +3116,15 @@ elseif (!empty($module)) if (dol_is_file($dirins.'/'.$pathtohook)) { print ''.$pathtohook.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Delete"), 'delete').''.img_picto($langs->trans("Edit"), 'edit').' '; + print ''.img_picto($langs->trans("Delete"), 'delete').'
    '; + + $pathtofile = $listofmodules[strtolower($module)]['moduledescriptorrelpath']; + print ''; + if (!empty($triggers)) { foreach ($triggers as $trigger) @@ -3171,7 +3184,7 @@ elseif (!empty($module)) print ''; + print ''; print ''; print ''; } @@ -3180,9 +3193,11 @@ elseif (!empty($module)) { print ''; + print ''; + print ''; print ''; } + print '
    '; + print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; + print ''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; + print '
    '; print ' '.$langs->trans("TriggersFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Delete"), 'delete').'
    '; print ' '.$langs->trans("NoTrigger"); - print '
    '; } else @@ -3227,7 +3242,7 @@ elseif (!empty($module)) if (dol_is_file($dirins.'/'.$pathtohook)) { print ''.$pathtohook.''; - print '
    '.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Delete"), 'delete').''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Delete"), 'delete').'
    '.$langs->trans("WidgetFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''.img_picto($langs->trans("Delete"), 'delete').'
    '; print ' '.$langs->trans("SpecificationFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Edit"), 'edit').''.img_picto($langs->trans("Delete"), 'delete').'
    trans("MyObject"); ?>getNomUrl(1); ?>trans("MyObject"); ?>getNomUrl(1); ?> date, 'day'); ?> getLibStatut(7); ?> ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?>
    '; - $orderstatic->id=$obj->rowid; - $orderstatic->ref=$obj->ref; - $orderstatic->ref_client=$obj->ref_client; - $orderstatic->total_ht = $obj->total_ht; - $orderstatic->total_tva = $obj->total_tva; - $orderstatic->total_ttc = $obj->total_ttc; - print $orderstatic->getNomUrl(1); - print ''; $companystatic->id=$obj->socid; $companystatic->name=$obj->name; $companystatic->client=$obj->client; - $companystatic->code_client = $obj->code_client; - $companystatic->code_fournisseur = $obj->code_fournisseur; - $companystatic->canvas=$obj->canvas; + $companystatic->code_client = $obj->code_client; + $companystatic->code_fournisseur = $obj->code_fournisseur; + $companystatic->canvas=$obj->canvas; print $companystatic->getNomUrl(1,'customer',16); print ''.price($obj->total_ttc).'
    '; if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastCustomersOrProspects",$max); - else if (! empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastModifiedProspects",$max); + else if (! empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastModifiedProspects",$max); else print $langs->trans("BoxTitleLastModifiedCustomers",$max); print ''.$langs->trans("DateModificationShort").'
    '.$companystatic->getNomUrl(1,'customer',48).''; diff --git a/htdocs/modulebuilder/template/myobject_agenda.php b/htdocs/modulebuilder/template/myobject_agenda.php index 89efa438de9..9b71971b6cf 100644 --- a/htdocs/modulebuilder/template/myobject_agenda.php +++ b/htdocs/modulebuilder/template/myobject_agenda.php @@ -56,12 +56,12 @@ $backtopage = GETPOST('backtopage', 'alpha'); if (GETPOST('actioncode', 'array')) { - $actioncode = GETPOST('actioncode', 'array', 3); - if (!count($actioncode)) $actioncode = '0'; + $actioncode = GETPOST('actioncode', 'array', 3); + if (!count($actioncode)) $actioncode = '0'; } else { - $actioncode = GETPOST("actioncode", "alpha", 3) ?GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); + $actioncode = GETPOST("actioncode", "alpha", 3) ?GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); } $search_agenda_label = GETPOST('search_agenda_label'); @@ -106,19 +106,19 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { - // Cancel - if (GETPOST('cancel', 'alpha') && !empty($backtopage)) - { - header("Location: ".$backtopage); - exit; - } + // Cancel + if (GETPOST('cancel', 'alpha') && !empty($backtopage)) + { + header("Location: ".$backtopage); + exit; + } - // Purge search criteria - if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers - { - $actioncode = ''; - $search_agenda_label = ''; - } + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers + { + $actioncode = ''; + $search_agenda_label = ''; + } } @@ -148,53 +148,51 @@ if ($object->id > 0) $morehtmlref = '
    '; /* - // Ref customer - $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1); - $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1); - // Thirdparty - $morehtmlref.='
    '.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1); - // Project - if (! empty($conf->projet->enabled)) - { - $langs->load("projects"); - $morehtmlref.='
    '.$langs->trans('Project') . ' '; - if ($permissiontoadd) - { - if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; - $morehtmlref.=' : '; - if ($action == 'classify') { - //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); - $morehtmlref.='
    '; - $morehtmlref.=''; - $morehtmlref.=''; - $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); - $morehtmlref.=''; - $morehtmlref.='
    '; - } else { - $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); - } - } else { - if (! empty($object->fk_project)) { - $proj = new Project($db); - $proj->fetch($object->fk_project); - $morehtmlref.=''; - $morehtmlref.=$proj->ref; - $morehtmlref.=''; - } else { - $morehtmlref.=''; - } - } - }*/ + // Ref customer + $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1); + $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1); + // Thirdparty + $morehtmlref.='
    '.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : ''); + // Project + if (! empty($conf->projet->enabled)) + { + $langs->load("projects"); + $morehtmlref.='
    '.$langs->trans('Project') . ' '; + if ($permissiontoadd) + { + if ($action != 'classify') + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.=' : '; + if ($action == 'classify') { + //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); + $morehtmlref.='
    '; + $morehtmlref.=''; + $morehtmlref.=''; + $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); + $morehtmlref.=''; + $morehtmlref.='
    '; + } else { + $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); + } + } else { + if (! empty($object->fk_project)) { + $proj = new Project($db); + $proj->fetch($object->fk_project); + $morehtmlref .= ': '.$proj->getNomUrl(); + } else { + $morehtmlref .= ''; + } + } + }*/ $morehtmlref .= '
    '; dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); - print '
    '; - print '
    '; + print '
    '; + print '
    '; - $object->info($object->id); + $object->info($object->id); dol_print_object_info($object, 1); print '
    '; @@ -205,54 +203,54 @@ if ($object->id > 0) // Actions buttons - $objthirdparty = $object; - $objcon = new stdClass(); + $objthirdparty = $object; + $objcon = new stdClass(); - $out = '&origin='.$object->element.'&originid='.$object->id; - $permok = $user->rights->agenda->myactions->create; - if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) - { - //$out.='trans("AddAnAction"),'filenew'); - //$out.=""; + $out = '&origin='.$object->element.'&originid='.$object->id; + $permok = $user->rights->agenda->myactions->create; + if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) + { + //$out.='trans("AddAnAction"),'filenew'); + //$out.=""; } print '
    '; - if (!empty($conf->agenda->enabled)) - { - if (!empty($user->rights->agenda->myactions->create) || !empty($user->rights->agenda->allactions->create)) - { - print ''.$langs->trans("AddAction").''; - } - else - { - print ''.$langs->trans("AddAction").''; - } - } + if (!empty($conf->agenda->enabled)) + { + if (!empty($user->rights->agenda->myactions->create) || !empty($user->rights->agenda->allactions->create)) + { + print ''.$langs->trans("AddAction").''; + } + else + { + print ''.$langs->trans("AddAction").''; + } + } - print '
    '; + print '
    '; - if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) - { - $param = '&id='.$object->id.'&socid='.$socid; - if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); - if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); + if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) + { + $param = '&id='.$object->id.'&socid='.$socid; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage); + if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); //print load_fiche_titre($langs->trans("ActionsOnMyObject"), '', ''); - // List of all actions + // List of all actions $filters = array(); - $filters['search_agenda_label'] = $search_agenda_label; + $filters['search_agenda_label'] = $search_agenda_label; - // TODO Replace this with same code than into list.php - show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder); - } + // TODO Replace this with same code than into list.php + show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder); + } } // End of page diff --git a/htdocs/modulebuilder/template/myobject_card.php b/htdocs/modulebuilder/template/myobject_card.php index 69272de686f..e92c88f1364 100644 --- a/htdocs/modulebuilder/template/myobject_card.php +++ b/htdocs/modulebuilder/template/myobject_card.php @@ -100,11 +100,6 @@ if (empty($action) && empty($id) && empty($ref)) $action = 'view'; // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once. -// Security check - Protection if external user -//if ($user->socid > 0) accessforbidden(); -//if ($user->socid > 0) $socid = $user->socid; -//$isdraft = (($object->statut == $object::STATUS_DRAFT) ? 1 : 0); -//$result = restrictedArea($user, 'mymodule', $object->id, '', '', 'fk_soc', 'rowid', $isdraft); $permissiontoread = $user->rights->mymodule->myobject->read; $permissiontoadd = $user->rights->mymodule->myobject->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php @@ -113,6 +108,14 @@ $permissionnote = $user->rights->mymodule->myobject->write; // Used by the inclu $permissiondellink = $user->rights->mymodule->myobject->write; // Used by the include of actions_dellink.inc.php $upload_dir = $conf->mymodule->multidir_output[isset($object->entity) ? $object->entity : 1]; +// Security check - Protection if external user +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->statut == $object::STATUS_DRAFT) ? 1 : 0); +//$result = restrictedArea($user, 'mymodule', $object->id, '', '', 'fk_soc', 'rowid', $isdraft); + +//if (!$permissiontoread) accessforbidden(); + /* * Actions @@ -124,47 +127,47 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { - $error = 0; + $error = 0; - $backurlforlist = dol_buildpath('/mymodule/myobject_list.php', 1); + $backurlforlist = dol_buildpath('/mymodule/myobject_list.php', 1); - if (empty($backtopage) || ($cancel && empty($id))) { - if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { - if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) $backtopage = $backurlforlist; - else $backtopage = dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.($id > 0 ? $id : '__ID__'); - } - } - $triggermodname = 'MYMODULE_MYOBJECT_MODIFY'; // Name of trigger action code to execute when we modify record + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) $backtopage = $backurlforlist; + else $backtopage = dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.($id > 0 ? $id : '__ID__'); + } + } + $triggermodname = 'MYMODULE_MYOBJECT_MODIFY'; // Name of trigger action code to execute when we modify record - // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen - include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; - // Actions when linking object each other - include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; + // Actions when linking object each other + include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; - // Actions when printing a doc from card - include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; + // Actions when printing a doc from card + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; - // Action to move up and down lines of object - //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; + // Action to move up and down lines of object + //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; - // Action to build doc - include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; + // Action to build doc + include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; - if ($action == 'set_thirdparty' && $permissiontoadd) - { - $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'MYOBJECT_MODIFY'); - } - if ($action == 'classin' && $permissiontoadd) - { - $object->setProject(GETPOST('projectid', 'int')); - } + if ($action == 'set_thirdparty' && $permissiontoadd) + { + $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'MYOBJECT_MODIFY'); + } + if ($action == 'classin' && $permissiontoadd) + { + $object->setProject(GETPOST('projectid', 'int')); + } - // Actions to send emails - $triggersendname = 'MYOBJECT_SENTBYMAIL'; - $autocopy = 'MAIN_MAIL_AUTOCOPY_MYOBJECT_TO'; - $trackid = 'myobject'.$object->id; - include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php'; + // Actions to send emails + $triggersendname = 'MYOBJECT_SENTBYMAIL'; + $autocopy = 'MAIN_MAIL_AUTOCOPY_MYOBJECT_TO'; + $trackid = 'myobject'.$object->id; + include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php'; } @@ -179,7 +182,9 @@ if (empty($reshook)) $form = new Form($db); $formfile = new FormFile($db); -llxHeader('', $langs->trans('MyObject'), ''); +$title = $langs->trans("MyObject"); +$help_url = ''; +llxHeader('', $title, $help_url); // Example : Adding jquery code print ''; print '
    '; } if (empty($conf->global->PROJECT_HIDE_TASKS)) @@ -591,7 +604,7 @@ if ($action == 'create' && $user->rights->projet->creer) print '
    '; $filteronlist = ''; if (!empty($conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST)) $filteronlist = $conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST; - $text = $form->select_company(GETPOST('socid', 'int'), 'socid', $filteronlist, 'SelectThirdParty', 1, 0, array(), 0, 'minwidth300'); + $text = img_picto('', 'company').$form->select_company(GETPOST('socid', 'int'), 'socid', $filteronlist, 'SelectThirdParty', 1, 0, array(), 0, 'minwidth300 widthcentpercentminusx'); if (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS) && empty($conf->dol_use_jmobile)) { $texthelp = $langs->trans("IfNeedToUseOtherObjectKeepEmpty"); @@ -632,27 +645,27 @@ if ($action == 'create' && $user->rights->projet->creer) if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { // Opportunity status - print '
    '.$langs->trans("OpportunityStatus").'
    '.$langs->trans("OpportunityStatus").''; print $formproject->selectOpportunityStatus('opp_status', GETPOST('opp_status') ?GETPOST('opp_status') : $object->opp_status); print '
    '.$langs->trans("OpportunityProbability").' %'; - print ''; + print '
    '.$langs->trans("OpportunityProbability").' %'; + print ''; print '
    '.$langs->trans("OpportunityAmount").'
    '.$langs->trans("OpportunityAmount").'
    '.$langs->trans("Budget").'
    '.$langs->trans("Categories").''; $cate_arbo = $form->select_all_categories(Categorie::TYPE_PROJECT, '', 'parent', 64, 0, 1); $arrayselected = GETPOST('categories', 'array'); - print $form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, '', 0, '100%'); + print img_picto('', 'category').$form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0); print "
    '; if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { - print 'usage_opportunity ? ' checked="checked"' : '')).'"> '; + print 'usage_opportunity ? ' checked="checked"' : '')).'"> '; $htmltext = $langs->trans("ProjectFollowOpportunity"); print $form->textwithpicto($langs->trans("ProjectFollowOpportunity"), $htmltext); + print ''; print '
    '; } if (empty($conf->global->PROJECT_HIDE_TASKS)) @@ -884,8 +910,9 @@ elseif ($object->id > 0) if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { + $classfortr = ($object->usage_opportunity ? '' : ' hideobject'); // Opportunity status - print '
    '.$langs->trans("OpportunityStatus").'
    '.$langs->trans("OpportunityStatus").''; print $formproject->selectOpportunityStatus('opp_status', $object->opp_status, 1, 0, 0, 0, 'inline-block valignmiddle'); print '
    '.$langs->trans("OpportunityProbability").' %'; + print '
    '.$langs->trans("OpportunityProbability").' %'; print ''; print '
    '.$langs->trans("OpportunityAmount").'
    '.$langs->trans("OpportunityAmount").'
    '.$langs->trans("Budget").'
    '.$langs->trans("Categories").''; + print '
    '.$langs->trans("Categories").''; $cate_arbo = $form->select_all_categories(Categorie::TYPE_PROJECT, '', 'parent', 64, 0, 1); $c = new Categorie($db); $cats = $c->containing($object->id, Categorie::TYPE_PROJECT); foreach ($cats as $cat) { $arrayselected[] = $cat->id; } - print $form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, '', 0, '100%'); + print img_picto('', 'category').$form->multiselectarray('categories', $cate_arbo, $arrayselected, 0, 0, 'quatrevingtpercent widthcentpercentminusx', 0, '0'); print "
    '; + print ''; if ($obj->socid) { $companystatic->id = $obj->socid; diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 8ed94cc1180..43d0e0b7f7f 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -289,7 +289,7 @@ else dol_print_error($db); if (count($listofprojectcontacttype) == 0) $listofprojectcontacttype[0] = '0'; // To avoid sql syntax error if not found $distinct = 'DISTINCT'; // We add distinct until we are added a protection to be sure a contact of a project and task is only once. -$sql = "SELECT ".$distinct." p.rowid as id, p.ref, p.title, p.fk_statut, p.fk_opp_status, p.public, p.fk_user_creat"; +$sql = "SELECT ".$distinct." p.rowid as id, p.ref, p.title, p.fk_statut as status, p.fk_opp_status, p.public, p.fk_user_creat"; $sql .= ", p.datec as date_creation, p.dateo as date_start, p.datee as date_end, p.opp_amount, p.opp_percent, (p.opp_amount*p.opp_percent/100) as opp_weighted_amount, p.tms as date_update, p.budget_amount, p.usage_opportunity, p.usage_task, p.usage_bill_time"; $sql .= ", s.rowid as socid, s.nom as name, s.email"; $sql .= ", cls.code as opp_status_code"; @@ -713,7 +713,9 @@ while ($i < min($num, $limit)) $object->public = $obj->public; $object->ref = $obj->ref; $object->datee = $db->jdate($obj->date_end); - $object->statut = $obj->fk_statut; + $object->statut = $obj->status; // deprecated + $object->status = $obj->status; + $object->public = $obj->public; $object->opp_status = $obj->fk_opp_status; $object->title = $obj->title; @@ -917,7 +919,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index cb004bc33a0..ebc6a7dc556 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -499,7 +499,7 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third { if ($id > 0 || !empty($ref)) print '
    '; - print load_fiche_titre($langs->trans("NewTask"), '', 'project'); + print load_fiche_titre($langs->trans("NewTask"), '', 'projecttask'); if ($object->statut == Project::STATUS_CLOSED) { diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index 0c9a09b37c0..415859127db 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -395,11 +395,11 @@ if ($id > 0 || !empty($ref)) print img_object('', 'user').' '.$langs->trans("Users"); print '
    '; + print ''; print $conf->global->MAIN_INFO_SOCIETE_NOM; print ''; + print ''; // On recupere les id des users deja selectionnes if ($object->project->public) $contactsofproject = ''; // Everybody else $contactsofproject = $projectstatic->getListContactId('internal'); @@ -430,13 +430,13 @@ if ($id > 0 || !empty($ref)) print img_object('', 'contact').' '.$langs->trans("ThirdPartyContacts"); print ''; + print ''; $thirdpartyofproject = $projectstatic->getListContactId('thirdparty'); $selectedCompany = isset($_GET["newcompany"]) ? $_GET["newcompany"] : $projectstatic->socid; $selectedCompany = $formcompany->selectCompaniesForNewContact($object, 'id', $selectedCompany, 'newcompany', $thirdpartyofproject, 0, '&withproject='.$withproject); print ''; + print ''; $contactofproject = $projectstatic->getListContactId('external'); $nbofcontacts = $form->select_contacts($selectedCompany, '', 'contactid', 0, '', $contactofproject); print ''; + print ''; if ($action == 'editline' && $_GET['lineid'] == $task_time->rowid) { if (empty($object->id)) $object->fetch($id); @@ -1390,7 +1390,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) } if (count($contactsoftask) > 0) { print img_object('', 'user', 'class="hideonsmartphone"'); - print $form->select_dolusers($task_time->fk_user, 'userid_line', 0, '', 0, '', $contactsoftask); + print $form->select_dolusers($task_time->fk_user, 'userid_line', 0, '', 0, '', $contactsoftask, '0', 0, 0, '', 0, '', 'maxwidth200'); } else { print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime'); } @@ -1452,7 +1452,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) // Value spent if (!empty($arrayfields['value']['checked'])) { - print ''; + print ''; $value = price2num($task_time->thm * $task_time->task_duration / 3600); print price($value, 1, $langs, 1, -1, -1, $conf->currency); print '
    '; diff --git a/htdocs/public/payment/paymentko.php b/htdocs/public/payment/paymentko.php index 2610219d69d..a3f6d733fcb 100644 --- a/htdocs/public/payment/paymentko.php +++ b/htdocs/public/payment/paymentko.php @@ -245,7 +245,7 @@ if ($urllogo) print '>'; print ''; if (empty($conf->global->MAIN_HIDE_POWERED_BY)) { - print ''; + print ''; } print ''; } diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index 6b7805cf473..b1d6c149a51 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -181,7 +181,7 @@ if ($urllogo) print '>'; print ''; if (empty($conf->global->MAIN_HIDE_POWERED_BY)) { - print ''; + print ''; } print ''; } diff --git a/htdocs/public/stripe/confirm_payment.php b/htdocs/public/stripe/confirm_payment.php index 25cb358ccea..9a45a2cbeec 100644 --- a/htdocs/public/stripe/confirm_payment.php +++ b/htdocs/public/stripe/confirm_payment.php @@ -129,8 +129,8 @@ try { )); } -/* - * generate payment response +/** + * Generate payment response * * @param \Stripe\PaymentIntent $intent PaymentIntent * @return void diff --git a/htdocs/public/stripe/ipn.php b/htdocs/public/stripe/ipn.php index 8a3bb00e765..4291cb6f834 100644 --- a/htdocs/public/stripe/ipn.php +++ b/htdocs/public/stripe/ipn.php @@ -111,54 +111,54 @@ $user = new User($db); $user->fetch($conf->global->STRIPE_USER_ACCOUNT_FOR_ACTIONS); $user->getrights(); -if (! empty($conf->multicompany->enabled) && ! empty($conf->stripeconnect->enabled) && is_object($mc)) +if (!empty($conf->multicompany->enabled) && !empty($conf->stripeconnect->enabled) && is_object($mc)) { $sql = "SELECT entity"; - $sql.= " FROM ".MAIN_DB_PREFIX."oauth_token"; - $sql.= " WHERE service = '".$db->escape($service)."' and tokenstring = '%".$db->escape($event->account)."%'"; + $sql .= " FROM ".MAIN_DB_PREFIX."oauth_token"; + $sql .= " WHERE service = '".$db->escape($service)."' and tokenstring = '%".$db->escape($event->account)."%'"; - dol_syslog(get_class($db) . "::fetch", LOG_DEBUG); + dol_syslog(get_class($db)."::fetch", LOG_DEBUG); $result = $db->query($sql); if ($result) { if ($db->num_rows($result)) { $obj = $db->fetch_object($result); - $key=$obj->entity; + $key = $obj->entity; } else { - $key=1; + $key = 1; } } else { - $key=1; + $key = 1; } - $ret=$mc->switchEntity($key); - if (! $res && file_exists("../../main.inc.php")) $res=@include "../../main.inc.php"; - if (! $res) die("Include of main fails"); + $ret = $mc->switchEntity($key); + if (!$res && file_exists("../../main.inc.php")) $res = @include "../../main.inc.php"; + if (!$res) die("Include of main fails"); } // list of action -$stripe=new Stripe($db); +$stripe = new Stripe($db); // Subject $societeName = $conf->global->MAIN_INFO_SOCIETE_NOM; -if (! empty($conf->global->MAIN_APPLICATION_TITLE)) $societeName = $conf->global->MAIN_APPLICATION_TITLE; +if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $societeName = $conf->global->MAIN_APPLICATION_TITLE; dol_syslog("***** Stripe IPN was called with event->type = ".$event->type); if ($event->type == 'payout.created') { - $error=0; + $error = 0; - $result=dolibarr_set_const($db, $service."_NEXTPAYOUT", date('Y-m-d H:i:s', $event->data->object->arrival_date), 'chaine', 0, '', $conf->entity); + $result = dolibarr_set_const($db, $service."_NEXTPAYOUT", date('Y-m-d H:i:s', $event->data->object->arrival_date), 'chaine', 0, '', $conf->entity); if ($result > 0) { $subject = $societeName.' - [NOTIFICATION] Stripe payout scheduled'; if (!empty($user->email)) { - $sendto = dolGetFirstLastname($user->firstname, $user->lastname) . " <".$user->email.">"; + $sendto = dolGetFirstLastname($user->firstname, $user->lastname)." <".$user->email.">"; } else { $sendto = $conf->global->MAIN_INFO_SOCIETE_MAIL.'" <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>'; } diff --git a/htdocs/public/ticket/list.php b/htdocs/public/ticket/list.php index 881f6c05691..40e6e55cb33 100644 --- a/htdocs/public/ticket/list.php +++ b/htdocs/public/ticket/list.php @@ -235,7 +235,7 @@ if ($action == "view_ticketlist") if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { if ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate') { - $arrayfields["ef.".$key] = array('label' => $extrafields->attributes[$object->table_element]['label'][$key], 'checked' => $extrafields->attributes[$object->table_element]['list'][$key], 'position' => $extrafields->attributes[$object->table_element]['pos'][$key], 'enabled' => $extrafields->attributes[$object->table_element]['perms'][$key]); + $arrayfields["ef.".$key] = array('label' => $extrafields->attributes[$object->table_element]['label'][$key], 'checked' => ($extrafields->attributes[$object->table_element]['list'][$key] < 0) ? 0 : 1, 'position' => $extrafields->attributes[$object->table_element]['pos'][$key], 'enabled' =>(abs($extrafields->attributes[$object->table_element]['list'][$key]) != 3) && $extrafields->attributes[$object->table_element]['perms'][$key]); } } } diff --git a/htdocs/public/ticket/view.php b/htdocs/public/ticket/view.php index 1938c68de3e..af656e69ab0 100644 --- a/htdocs/public/ticket/view.php +++ b/htdocs/public/ticket/view.php @@ -370,7 +370,7 @@ if ($action == "view_ticket" || $action == "presend" || $action == "close" || $a } // Message list - print load_fiche_titre($langs->trans('TicketMessagesList'), '', 'messages@ticket'); + print load_fiche_titre($langs->trans('TicketMessagesList'), '', 'object_conversation'); $object->viewTicketMessages(false, true, $object->dao); } else diff --git a/htdocs/reception/card.php b/htdocs/reception/card.php index 85ff3715b73..3d8547f9322 100644 --- a/htdocs/reception/card.php +++ b/htdocs/reception/card.php @@ -186,30 +186,25 @@ if (empty($reshook)) if ($action == 'update_extras') { - // Fill array 'array_options' with data from update form - $ret = $extrafields->setOptionalsFromPost(null, $object, GETPOST('attribute')); - if ($ret < 0) $error++; + $object->oldcopy = dol_clone($object); - if (!$error) - { - // Actions on extra fields (by external module or standard code) - // TODO le hook fait double emploi avec le trigger !! - $hookmanager->initHooks(array('receptiondao')); - $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) - { - setEventMessages($object->error, $object->errors, 'errors'); - $error++; - } - } elseif ($reshook < 0) - $error++; - } + // Fill array 'array_options' with data from update form + $ret = $extrafields->setOptionalsFromPost(null, $object, GETPOST('attribute', 'none')); + if ($ret < 0) $error++; - if ($error) - $action = 'edit_extras'; + if (!$error) + { + // Actions on extra fields + $result = $object->insertExtraFields('RECEPTION_MODIFY'); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + } + } + + if ($error) + $action = 'edit_extras'; } // Create reception @@ -307,7 +302,7 @@ if (empty($reshook)) { $lineToTest = ''; foreach ($objectsrc->lines as $linesrc) { - if ($linesrc->id == GETPOST($idl, 'int'))$lineToTest = $linesrc; + if ($linesrc->id == GETPOST($idl, 'int')) $lineToTest = $linesrc; } $qty = "qtyl".$i; $comment = "comment".$i; @@ -315,8 +310,6 @@ if (empty($reshook)) $sellby = "dluo".$i; $batch = "batch".$i; - - $timeFormat = '%d/%m/%Y'; if (GETPOST($qty, 'int') > 0 || (GETPOST($qty, 'int') == 0 && $conf->global->RECEPTION_GETS_ALL_ORDER_PRODUCTS)) @@ -713,8 +706,9 @@ $warehousestatic = new Entrepot($db); if ($action == 'create2') { - print load_fiche_titre($langs->trans("CreateReception")).'
    '; - print $langs->trans("ReceptionCreationIsDoneFromOrder"); + print load_fiche_titre($langs->trans("CreateReception"), '', 'dollyrevert'); + + print '
    '.$langs->trans("ReceptionCreationIsDoneFromOrder"); $action = ''; $id = ''; $ref = ''; } @@ -1235,7 +1229,7 @@ elseif ($id || $ref) $res = $object->fetch_optionals(); $head = reception_prepare_head($object); - dol_fiche_head($head, 'reception', $langs->trans("Reception"), -1, 'reception'); + dol_fiche_head($head, 'reception', $langs->trans("Reception"), -1, 'dollyrevert'); $formconfirm = ''; @@ -1864,7 +1858,7 @@ elseif ($id || $ref) print ''; print '
    '.''.''.$formproduct->selectWarehouses($lines[$i]->fk_entrepot, 'entl'.$line_id, '', 1, 0, $lines[$i]->fk_product, '', 1).'
    '.''.''.''.'
    '."\n"; diff --git a/htdocs/salaries/stats/index.php b/htdocs/salaries/stats/index.php index 33082a4ad91..b0023de8b64 100644 --- a/htdocs/salaries/stats/index.php +++ b/htdocs/salaries/stats/index.php @@ -60,7 +60,7 @@ llxHeader(); $title = $langs->trans("SalariesStatistics"); $dir = $conf->salaries->dir_temp; -print load_fiche_titre($title, $mesg); +print load_fiche_titre($title, '', 'object_payment'); dol_mkdir($dir); diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index 20ada9bfbaf..681d4a37fc9 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -1330,7 +1330,8 @@ else // Country print ''; @@ -1353,16 +1354,16 @@ else // Phone / Fax print ''; - print ''; + print 'browser->layout == 'phone' ? ' colspan="3"': '').'>'.img_picto('', 'object_phoning').' '; if ($conf->browser->layout == 'phone') print ''; print ''; - print ''; + print 'browser->layout == 'phone' ? ' colspan="3"': '').'>'.img_picto('', 'object_phoning_fax').' '; // Email / Web print ''; - print ''; + print ''; print ''; - print ''; + print ''; if (!empty($conf->socialnetworks->enabled)) { foreach ($socialnetworks as $key => $value) { @@ -1379,42 +1380,6 @@ else } } - // if (! empty($conf->socialnetworks->enabled)) - // { - // // Skype - // if (! empty($conf->global->SOCIALNETWORKS_SKYPE)) - // { - // print ''; - // print ''; - // } - // // Twitter - // if (! empty($conf->global->SOCIALNETWORKS_TWITTER)) - // { - // print ''; - // print ''; - // } - // // Facebook - // if (! empty($conf->global->SOCIALNETWORKS_FACEBOOK)) - // { - // print ''; - // print ''; - // } - // // LinkedIn - // if (! empty($conf->global->SOCIALNETWORKS_LINKEDIN)) - // { - // print ''; - // print ''; - // } - // } - // Prof ids $i = 1; $j = 0; $NBCOLS = ($conf->browser->layout == 'phone' ? 1 : 2); while ($i <= 6) @@ -1431,12 +1396,12 @@ else print $formcompany->get_input_id_prof($i, $key, $object->$key, $object->country_code); print ''; - if (($j % 2) == 1) print ''; + if (($j % $NBCOLS) == ($NBCOLS - 1)) print ''; $j++; } $i++; } - if ($j % 2 == 1) print ''; + if ($NBCOLS > 1 && ($j % 2 == 1)) print ''; // Vat is used print ''; @@ -1482,7 +1447,9 @@ else { print ''; + if ($conf->browser->layout == 'phone') print ''; + print ''; } @@ -1500,13 +1467,13 @@ else } // Type - Size - print ''; if ($conf->browser->layout == 'phone') print ''; - print ''; @@ -1882,6 +1849,7 @@ else print ''; + if ($conf->browser->layout == 'phone') print ''; print ''; print ''; // Numbering module diff --git a/htdocs/takepos/ajax/ajax.php b/htdocs/takepos/ajax/ajax.php index f3b5ba15716..d1f59325c1f 100644 --- a/htdocs/takepos/ajax/ajax.php +++ b/htdocs/takepos/ajax/ajax.php @@ -142,4 +142,10 @@ elseif ($action == 'search' && $term != '') { } echo json_encode($object); +} elseif ($action == 'thecheck') { + $place = GETPOST('place', 'alpha'); + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php'; + $printer = new dolReceiptPrinter($db); + $printer->sendToPrinter($object, $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$term}, $conf->global->{'TAKEPOS_PRINTER_TO_USE'.$term}); } diff --git a/htdocs/takepos/css/phone.css b/htdocs/takepos/css/phone.css index 49d833ade17..0f3606071f0 100644 --- a/htdocs/takepos/css/phone.css +++ b/htdocs/takepos/css/phone.css @@ -79,3 +79,31 @@ button.phonebutton { height:90%; font-weight: bold; } + +button.publicphonebutton { + display: inline-block; + position: relative; + padding: 0; + line-height: normal; + cursor: pointer; + vertical-align: middle; + text-align: center; + overflow: visible; /* removes extra width in IE */ + width:33%; + height:90%; + font-weight: bold; +} + +button.publicphonebutton2 { + display: inline-block; + position: relative; + padding: 0; + line-height: normal; + cursor: pointer; + vertical-align: middle; + text-align: center; + overflow: visible; /* removes extra width in IE */ + width:33%; + font-weight: bold; + padding: 8px 16px; +} diff --git a/htdocs/takepos/css/pos.css.php b/htdocs/takepos/css/pos.css.php index 5f0006d24fe..6871fcbd68b 100644 --- a/htdocs/takepos/css/pos.css.php +++ b/htdocs/takepos/css/pos.css.php @@ -591,6 +591,9 @@ div#moreinfo, div#infowarehouse { height: calc(45% - 100px); } + div#moreinfo, div#infowarehouse { + padding: 0 5px 0 5px; + } div.div1 { padding-bottom: 0; diff --git a/htdocs/takepos/genimg/index.php b/htdocs/takepos/genimg/index.php index a5686054193..e668b01aacb 100644 --- a/htdocs/takepos/genimg/index.php +++ b/htdocs/takepos/genimg/index.php @@ -25,7 +25,7 @@ if (!defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); if (!defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); if (!defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); -require '../../main.inc.php'; // Load $user and permissions +if (!defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) require '../../main.inc.php'; // Load $user and permissions $id = GETPOST('id', 'int'); $w = GETPOST('w', 'int'); @@ -72,12 +72,12 @@ elseif ($query == "pro") $objProd = new Product($db); $objProd->fetch($id); - $image = $objProd->show_photos('product', $conf->product->multidir_output[$entity], 'small', 1); + $image = $objProd->show_photos('product', $conf->product->multidir_output[$objProd->entity], 'small', 1); preg_match('@src="([^"]+)"@', $image, $match); $file = array_pop($match); if ($file == "") header('Location: ../../public/theme/common/nophoto.png'); - else header('Location: '.$file.'&cache=1'); + else header('Location: '.$file.'&cache=1&publictakepos=1&modulepart=product'); } else { diff --git a/htdocs/takepos/genimg/qr.php b/htdocs/takepos/genimg/qr.php new file mode 100644 index 00000000000..3aca3b22ebf --- /dev/null +++ b/htdocs/takepos/genimg/qr.php @@ -0,0 +1,36 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +if (!defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session) +if (!defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +if (!defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); +if (!defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); +if (!defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); +if (!defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); +if (!defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); +if (!defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); + +require '../../main.inc.php'; // Load $user and permissions +require '../../core/modules/barcode/doc/tcpdfbarcode.modules.php'; + +$key = GETPOST('key'); + +$urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); +$urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file + +$module = new modTcpdfbarcode(); +$result = $module->buildBarCode($urlwithroot."/takepos/public/auto_order.php?key=".dol_encode($key), 'QRCODE', 'Y'); diff --git a/htdocs/takepos/index.php b/htdocs/takepos/index.php index bba62298989..8da96df54d0 100644 --- a/htdocs/takepos/index.php +++ b/htdocs/takepos/index.php @@ -756,15 +756,22 @@ if (empty($conf->global->TAKEPOS_HIDE_HEAD_BAR)) {
    - diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index 77254be543f..16012022dc9 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -32,7 +32,7 @@ if (!defined('NOREQUIREMENU')) { define('NOREQUIREMENU', '1'); } if (!defined('NOREQUIREHTML')) { define('NOREQUIREHTML', '1'); } if (!defined('NOREQUIREAJAX')) { define('NOREQUIREAJAX', '1'); } -require '../main.inc.php'; +if (!defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; @@ -47,13 +47,11 @@ $idproduct = GETPOST('idproduct', 'int'); $place = (GETPOST('place', 'aZ09') ? GETPOST('place', 'aZ09') : 0); // $place is id of table for Bar or Restaurant $placeid = 0; // $placeid is ID of invoice -if (empty($user->rights->takepos->run)) { +if (empty($user->rights->takepos->run) && !defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { accessforbidden(); } - - -if ($conf->global->TAKEPOS_PHONE_BASIC_LAYOUT == 1 && $conf->browser->layout == 'phone') +if (($conf->global->TAKEPOS_PHONE_BASIC_LAYOUT == 1 && $conf->browser->layout == 'phone') || defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { // DIRECT LINK TO THIS PAGE FROM MOBILE AND NO TERMINAL SELECTED if ($_SESSION["takeposterminal"] == "") @@ -597,7 +595,7 @@ if ($action == "valid" || $action == "history") } else { $sectionwithinvoicelink .= ' '; } - if ($conf->global->MAIN_FEATURES_LEVEL >= 2) + if ($conf->global->TAKEPOS_EMAIL_TEMPLATE_INVOICE > 0) { $sectionwithinvoicelink .= ' '; } @@ -626,6 +624,12 @@ $(document).ready(function() { if (selectedline==this.id) return; // If is already selected else selectedline=this.id; selectedtext=$('#'+selectedline).find("td:first").html(); + }); /* Autoselect the line */ @@ -690,7 +694,7 @@ if ($action == "search") { function SendTicket(id) { console.log("Open box to select the Print/Send form"); - $.colorbox({href:"send.php?facid="+id, width:"90%", height:"50%", transition:"none", iframe:"true", title:"trans("SendTicket"); ?>"}); + $.colorbox({href:"send.php?facid="+id, width:"70%", height:"30%", transition:"none", iframe:"true", title:"trans("SendTicket"); ?>"}); } function Print(id){ @@ -733,7 +737,7 @@ function DolibarrTakeposPrinting(id) { $( document ).ready(function() { - console.log("Set customer info in header"); + console.log("Set customer info and sales in header"); trans("Customer"); @@ -742,7 +746,9 @@ $( document ).ready(function() { } ?> - $("#customerandsales").html(''); + $("#customerandsales").html(''); + + $("#customerandsales").append(''); fetch_object($resql)) { echo '$("#customerandsales").append(\''; - if ($placeid == $obj->rowid) echo ""; echo 'ref)); echo $num_sale; if (str_replace("-", "", $num_sale) > $max_sale) $max_sale = str_replace("-", "", $num_sale); - echo '\\\';Refresh();">'.date('H:i', strtotime($obj->datec)); + echo '\\\';Refresh();">'; + if ($placeid == $obj->rowid) echo ""; + echo date('H:i', strtotime($obj->datec)); if ($placeid == $obj->rowid) echo ""; echo '\');'; } @@ -787,7 +794,7 @@ $( document ).ready(function() { adherent->enabled) && $invoice->socid != $conf->global->$constforcompanyid) + if (!empty($conf->adherent->enabled) && $invoice->socid > 0 && $invoice->socid != $conf->global->$constforcompanyid) { $s = ''; require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; @@ -907,7 +914,7 @@ if ($_SESSION["basiclayout"] == 1) $htmlforlines .= '" onclick="AddProduct(\''.$place.'\', '.$row->id.')">'; $htmlforlines .= '
    '; + $htmlforlines .= '
    '.price($row->price_ttc, 1, $langs, 1, -1, -1, $conf->currency).'
    '; $htmlforlines .= '
    '."\n"; } $htmlforlines .= '
    '.$form->editfieldkey('Country', 'selectcountry_id', '', $object, 0).''; - print $form->select_country((GETPOST('country_id') != '' ?GETPOST('country_id') : $object->country_id)); + print img_picto('', 'globe-americas', 'class="paddingrightonly"'); + print $form->select_country((GETPOST('country_id') != '' ? GETPOST('country_id') : $object->country_id), 'country_id', '', 0, 'minwidth300 widthcentpercentminusx'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '.$form->editfieldkey('Phone', 'phone', '', $object, 0).''.img_picto('', 'object_phoning').'
    '.$form->editfieldkey('Fax', 'fax', '', $object, 0).''.img_picto('', 'object_phoning_fax').'
    '.$form->editfieldkey('EMail', 'email', '', $object, 0, 'string', '', $conf->global->SOCIETE_EMAIL_MANDATORY).''.img_picto('', 'object_email').'
    '.img_picto('', 'object_email').'
    '.$form->editfieldkey('Web', 'url', '', $object, 0).''.img_picto('', 'globe').'
    '.img_picto('', 'globe').'
    '.$form->editfieldkey('Skype', 'skype', '', $object, 0).''; - // print 'skype).'">'; - // print '
    '.$form->editfieldkey('Twitter', 'twitter', '', $object, 0).''; - // print 'twitter).'">'; - // print '
    '.$form->editfieldkey('Facebook', 'facebook', '', $object, 0).''; - // print 'facebook).'">'; - // print '
    '.$form->editfieldkey('LinkedIn', 'linkedin', '', $object, 0).''; - // print 'linkedin).'">'; - // print '
    '.$form->editfieldkey('VATIsUsed', 'assujtva_value', '', $object, 0).'
    '.$langs->transcountry("LocalTax1IsUsed", $mysoc->country_code).''; print $form->selectyesno('localtax1assuj_value', (isset($conf->global->THIRDPARTY_DEFAULT_USELOCALTAX1) ? $conf->global->THIRDPARTY_DEFAULT_USELOCALTAX1 : 0), 1); - print ''.$langs->transcountry("LocalTax2IsUsed", $mysoc->country_code).''; + print '
    '.$langs->transcountry("LocalTax2IsUsed", $mysoc->country_code).''; print $form->selectyesno('localtax2assuj_value', (isset($conf->global->THIRDPARTY_DEFAULT_USELOCALTAX2) ? $conf->global->THIRDPARTY_DEFAULT_USELOCALTAX2 : 0), 1); print '
    '.$form->editfieldkey('ThirdPartyType', 'typent_id', '', $object, 0).''."\n"; + print '
    '.$form->editfieldkey('ThirdPartyType', 'typent_id', '', $object, 0).'browser->layout == 'phone' ? ' colspan="3"': '').'>'."\n"; $sortparam = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label. print $form->selectarray("typent_id", $formcompany->typent_array(0), $object->typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam); if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '.$form->editfieldkey('Staff', 'effectif_id', '', $object, 0).''; + print ''.$form->editfieldkey('Staff', 'effectif_id', '', $object, 0).'browser->layout == 'phone' ? ' colspan="3"': '').'>'; print $form->selectarray("effectif_id", $formcompany->effectif_array(0), $object->effectif_id); if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '; print $formcompany->selectProspectCustomerType($object->client); print '
    '.$form->editfieldkey('CustomerCode', 'customer_code', '', $object, 0).''; print ''; - print ''; + print ''; + if ($conf->browser->layout == 'phone') print ''; print ''; + print '\n"; @@ -362,7 +362,7 @@ if (is_array($formmail->lines_model)) { if (!empty($arrayofmessagename[$modelmail->label])) { $moreonlabel = ' ('.$langs->trans("SeveralLangugeVariatFound").')'; } - $arrayofmessagename[$modelmail->label] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->label)).$moreonlabel; + $arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->topic)).$moreonlabel; } } //var_dump($arraydefaultmessage); @@ -434,19 +434,6 @@ print "\n"; //print $form->selectarray('TAKEPOS_ADDON', $array, (empty($conf->global->TAKEPOS_ADDON) ? '0' : $conf->global->TAKEPOS_ADDON), 0); //print "\n"; -print '
    '; @@ -1913,15 +1881,18 @@ else || (!empty($conf->supplier_proposal->enabled) && !empty($user->rights->supplier_proposal->lire))) { print '
    '.$form->editfieldkey('Supplier', 'fournisseur', '', $object, 0, 'string', '', 1).''; + print ''.$form->editfieldkey('Supplier', 'fournisseur', '', $object, 0, 'string', '', 1).''; print $form->selectyesno("fournisseur", $object->fournisseur, 1); print '
    '; if (!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->lire)) { print $form->editfieldkey('SupplierCode', 'supplier_code', '', $object, 0); } - print ''; + print ''; print ''; + if ($conf->browser->layout == 'phone') print ''; + print ''; // Country print ''; @@ -1999,15 +1973,16 @@ else // Phone / Fax print ''; - print ''; + print ''; + if ($conf->browser->layout == 'phone') print ''; print ''; - print ''; + print ''; // EMail / Web print ''; - print ''; + print ''; print ''; - print ''; + print ''; if (!empty($conf->socialnetworks->enabled)) { foreach ($socialnetworks as $key => $value) { @@ -2023,36 +1998,9 @@ else } } } - // if (! empty($conf->socialnetworks->enabled)) - // { - // // Skype - // if (! empty($conf->global->SOCIALNETWORKS_SKYPE)) - // { - // print ''; - // print ''; - // } - // // Twitter - // if (! empty($conf->global->SOCIALNETWORKS_TWITTER)) - // { - // print ''; - // print ''; - // } - // // Facebook - // if (! empty($conf->global->SOCIALNETWORKS_FACEBOOK)) - // { - // print ''; - // print ''; - // } - // // LinkedIn - // if (! empty($conf->global->SOCIALNETWORKS_LINKEDIN)) - // { - // print ''; - // print ''; - // } - // } // Prof ids - $i = 1; $j = 0; + $i = 1; $j = 0; $NBCOLS = ($conf->browser->layout == 'phone' ? 1 : 2); while ($i <= 6) { $idprof = $langs->transcountry('ProfId'.$i, $object->country_code); @@ -2060,18 +2008,18 @@ else { $key = 'idprof'.$i; - if (($j % 2) == 0) print ''; + if (($j % $NBCOLS) == 0) print ''; $idprof_mandatory = 'SOCIETE_IDPROF'.($i).'_MANDATORY'; print ''; - if (($j % 2) == 1) print ''; + if (($j % $NBCOLS) == ($NBCOLS - 1)) print ''; $j++; } $i++; } - if ($j % 2 == 1) print ''; + if ($NBCOLS > 0 && $j % 2 == 1) print ''; // VAT is used print ''; - + if ($conf->browser->layout == 'phone') print ''; print ''; + if ($conf->browser->layout == 'phone') print ''; print ''; $statstring .= ""; } - if (!empty($conf->fournisseur->enabled) && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS) && $user->rights->fournisseur->lire) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS) && $user->rights->fournisseur->lire) { $statstring2 = ""; $statstring2 .= ''; @@ -310,7 +310,7 @@ if ($result) $thirdparty_static->name = $langs->trans("Prospect"); print $thirdparty_static->getNomUrl(0, 'prospect', 0, 1); } - if (!empty($conf->fournisseur->enabled) && $thirdparty_static->fournisseur) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $thirdparty_static->fournisseur) { if ($thirdparty_static->client) print " / "; $thirdparty_static->name = $langs->trans("Supplier"); diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 3d72fb1cdd3..1df7c38d6c5 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -179,9 +179,9 @@ $arrayfields = array( 's.name_alias'=>array('label'=>"AliasNameShort", 'position'=>3, 'checked'=>1), 's.barcode'=>array('label'=>"Gencod", 'position'=>5, 'checked'=>1, 'enabled'=>(!empty($conf->barcode->enabled))), 's.code_client'=>array('label'=>"CustomerCodeShort", 'position'=>10, 'checked'=>$checkedcustomercode), - 's.code_fournisseur'=>array('label'=>"SupplierCodeShort", 'position'=>11, 'checked'=>$checkedsuppliercode, 'enabled'=>(!empty($conf->fournisseur->enabled))), + 's.code_fournisseur'=>array('label'=>"SupplierCodeShort", 'position'=>11, 'checked'=>$checkedsuppliercode, 'enabled'=>(!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))), 's.code_compta'=>array('label'=>"CustomerAccountancyCodeShort", 'position'=>13, 'checked'=>$checkedcustomeraccountcode), - 's.code_compta_fournisseur'=>array('label'=>"SupplierAccountancyCodeShort", 'position'=>14, 'checked'=>$checkedsupplieraccountcode, 'enabled'=>(!empty($conf->fournisseur->enabled))), + 's.code_compta_fournisseur'=>array('label'=>"SupplierAccountancyCodeShort", 'position'=>14, 'checked'=>$checkedsupplieraccountcode, 'enabled'=>(!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))), 's.town'=>array('label'=>"Town", 'position'=>20, 'checked'=>1), 's.zip'=>array('label'=>"Zip", 'position'=>21, 'checked'=>1), 'state.nom'=>array('label'=>"State", 'position'=>22, 'checked'=>0), @@ -1153,12 +1153,12 @@ while ($i < min($num, $limit)) } if (!empty($arrayfields['s.phone']['checked'])) { - print "\n"; + print "\n"; if (!$i) $totalarray['nbfield']++; } if (!empty($arrayfields['s.fax']['checked'])) { - print "\n"; + print "\n"; if (!$i) $totalarray['nbfield']++; } if (!empty($arrayfields['s.url']['checked'])) @@ -1225,7 +1225,7 @@ while ($i < min($num, $limit)) $companystatic->name_alias = ''; $s .= $companystatic->getNomUrl(0, 'prospect', 0, 1); } - if ((!empty($conf->fournisseur->enabled) || !empty($conf->supplier_proposal->enabled)) && $obj->fournisseur) + if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $obj->fournisseur) { if ($s) $s .= ", "; $companystatic->name = $langs->trans("Supplier"); @@ -1276,7 +1276,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/societe/paymentmodes.php b/htdocs/societe/paymentmodes.php index d440930bbf5..6385346ce5d 100644 --- a/htdocs/societe/paymentmodes.php +++ b/htdocs/societe/paymentmodes.php @@ -1138,11 +1138,11 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' print ''.$langs->trans("CreateCardOnStripe").''; } - print ''; + print ''; print img_picto($langs->trans("Modify"), 'edit'); print ''; print ' '; - print ''; // source='.$companypaymentmodetemp->stripe_card_ref.'& + print ''; // source='.$companypaymentmodetemp->stripe_card_ref.'& print img_picto($langs->trans("Delete"), 'delete'); print ''; } @@ -1547,13 +1547,11 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' print ''; @@ -728,14 +735,6 @@ if ($resql) if (!$i) $totalarray['nbfield']++; } - $url = DOL_URL_ROOT.'/comm/card.php?socid='.$obj->socid; - - // Company - $companystatic->id = $obj->socid; - $companystatic->name = $obj->name; - $companystatic->client = $obj->client; - $companystatic->code_client = $obj->code_client; - // Thirdparty if (!empty($arrayfields['s.nom']['checked'])) { @@ -879,7 +878,7 @@ if ($resql) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation @@ -901,7 +900,7 @@ if ($resql) // Status if (!empty($arrayfields['sp.fk_statut']['checked'])) { - print '\n"; + print '\n"; if (!$i) $totalarray['nbfield']++; } diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php index c12526bbe85..7e5b6aaf531 100644 --- a/htdocs/support/inc.php +++ b/htdocs/support/inc.php @@ -66,87 +66,87 @@ if (!file_exists($conffile)) // Load conf file if it is already defined -if (! defined('DONOTLOADCONF') && file_exists($conffile) && filesize($conffile) > 8) // Test on filesize is to ensure that conf file is more that an empty template with just 8) // Test on filesize is to ensure that conf file is more that an empty template with just global->MAIN_LOGTOHTML = 1; // Define prefix -if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; -define('MAIN_DB_PREFIX', (isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:'')); +if (!isset($dolibarr_main_db_prefix) || !$dolibarr_main_db_prefix) $dolibarr_main_db_prefix = 'llx_'; +define('MAIN_DB_PREFIX', (isset($dolibarr_main_db_prefix) ? $dolibarr_main_db_prefix : '')); -define('DOL_CLASS_PATH', 'class/'); // Filsystem path to class dir -define('DOL_DATA_ROOT', (isset($dolibarr_main_data_root)?$dolibarr_main_data_root:'')); -define('DOL_MAIN_URL_ROOT', (isset($dolibarr_main_url_root)?$dolibarr_main_url_root:'')); // URL relative root -$uri=preg_replace('/^http(s?):\/\//i', '', constant('DOL_MAIN_URL_ROOT')); // $uri contains url without http* -$suburi = strstr($uri, '/'); // $suburi contains url without domain -if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now '' -define('DOL_URL_ROOT', $suburi); // URL relative root ('', '/dolibarr', ...) +define('DOL_CLASS_PATH', 'class/'); // Filsystem path to class dir +define('DOL_DATA_ROOT', (isset($dolibarr_main_data_root) ? $dolibarr_main_data_root : '')); +define('DOL_MAIN_URL_ROOT', (isset($dolibarr_main_url_root) ? $dolibarr_main_url_root : '')); // URL relative root +$uri = preg_replace('/^http(s?):\/\//i', '', constant('DOL_MAIN_URL_ROOT')); // $uri contains url without http* +$suburi = strstr($uri, '/'); // $suburi contains url without domain +if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now '' +define('DOL_URL_ROOT', $suburi); // URL relative root ('', '/dolibarr', ...) -if (empty($character_set_client)) $character_set_client="UTF-8"; -$conf->file->character_set_client=strtoupper($character_set_client); -if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set=($conf->db->type=='mysql'?'latin1':''); // Old installation -$conf->db->character_set=$dolibarr_main_db_character_set; -if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation=($conf->db->type=='mysql'?'latin1_swedish_ci':''); // Old installation -$conf->db->dolibarr_main_db_collation=$dolibarr_main_db_collation; -if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption=0; +if (empty($character_set_client)) $character_set_client = "UTF-8"; +$conf->file->character_set_client = strtoupper($character_set_client); +if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set = ($conf->db->type == 'mysql' ? 'latin1' : ''); // Old installation +$conf->db->character_set = $dolibarr_main_db_character_set; +if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation = ($conf->db->type == 'mysql' ? 'latin1_swedish_ci' : ''); // Old installation +$conf->db->dolibarr_main_db_collation = $dolibarr_main_db_collation; +if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption = 0; $conf->db->dolibarr_main_db_encryption = $dolibarr_main_db_encryption; -if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey=''; +if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey = ''; $conf->db->dolibarr_main_db_cryptkey = $dolibarr_main_db_cryptkey; -if (empty($conf->db->user)) $conf->db->user=''; +if (empty($conf->db->user)) $conf->db->user = ''; // Defini objet langs diff --git a/htdocs/takepos/admin/bar.php b/htdocs/takepos/admin/bar.php new file mode 100644 index 00000000000..2508ab56040 --- /dev/null +++ b/htdocs/takepos/admin/bar.php @@ -0,0 +1,178 @@ + + * Copyright (C) 2011-2017 Juanjo Menent + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/takepos/admin/bar.php + * \ingroup takepos + * \brief Setup page for TakePos module - Bar Restaurant features + */ + +require '../../main.inc.php'; // Load $user and permissions +require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; +require_once DOL_DOCUMENT_ROOT."/core/lib/takepos.lib.php"; + +// Security check +if (!$user->admin) accessforbidden(); + +$langs->loadLangs(array("admin", "cashdesk", "printing")); + +global $db; + +/* + * Actions + */ + +if (GETPOST('action', 'alpha') == 'set') +{ + $db->begin(); + + dol_syslog("admin/cashdesk: level ".GETPOST('level', 'alpha')); + + if (!$res > 0) $error++; + + if (!$error) + { + $db->commit(); + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } + else + { + $db->rollback(); + setEventMessages($langs->trans("Error"), null, 'errors'); + } +} + + +/* + * View + */ + +$form = new Form($db); +$formproduct = new FormProduct($db); + +llxHeader('', $langs->trans("CashDeskSetup")); + +$linkback = ''.$langs->trans("BackToModuleList").''; +print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup'); +$head = takepos_prepare_head(); +dol_fiche_head($head, 'bar', 'TakePOS', -1); +print '
    '; + + +// Mode +print '
    '; +print ''; +print ''; + +print '
    '; +print '
    '; if ((!$object->code_fournisseur || $object->code_fournisseur == -1) && $modCodeFournisseur->code_auto) { @@ -1970,14 +1941,17 @@ else // Zip / Town print '
    '.$form->editfieldkey('Zip', 'zipcode', '', $object, 0).''; print $formcompany->select_ziptown($object->zip, 'zipcode', array('town', 'selectcountry_id', 'state_id'), 0, 0, '', 'maxwidth50onsmartphone'); - print ''.$form->editfieldkey('Town', 'town', '', $object, 0).''; + print '
    '.$form->editfieldkey('Town', 'town', '', $object, 0).''; print $formcompany->select_ziptown($object->town, 'town', array('zipcode', 'selectcountry_id', 'state_id')); print $form->widgetForTranslation("town", $object, $permissiontoadd, 'string', 'alphanohtml', 'maxwidth100 quatrevingtpercent'); print '
    '.$form->editfieldkey('Country', 'selectcounty_id', '', $object, 0).''; - print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id') : $object->country_id), 'country_id'); + print img_picto('', 'globe-americas', 'class="paddingrightonly"'); + print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id') : $object->country_id), 'country_id', '', 0, 'minwidth300 widthcentpercentminusx'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '.$form->editfieldkey('Phone', 'phone', GETPOST('phone', 'alpha'), $object, 0).''.img_picto('', 'object_phoning').' '.img_picto('', 'object_phoning').'
    '.$form->editfieldkey('Fax', 'fax', GETPOST('fax', 'alpha'), $object, 0).''.img_picto('', 'object_phoning_fax').'
    '.img_picto('', 'object_phoning_fax').'
    '.$form->editfieldkey('EMail', 'email', GETPOST('email', 'alpha'), $object, 0, 'string', '', (!empty($conf->global->SOCIETE_EMAIL_MANDATORY))).''.img_picto('', 'object_email').'
    '.img_picto('', 'object_email').'
    '.$form->editfieldkey('Web', 'url', GETPOST('url', 'alpha'), $object, 0).''.img_picto('', 'globe').'
    '.img_picto('', 'globe').'
    '.$form->editfieldkey('Skype', 'skype', '', $object, 0).'
    '.$form->editfieldkey('Twitter', 'twitter', '', $object, 0).'
    '.$form->editfieldkey('Facebook', 'facebook', '', $object, 0).'
    '.$form->editfieldkey('LinkedIn', 'linkedin', '', $object, 0).'
    '.$form->editfieldkey($idprof, $key, '', $object, 0, 'string', '', !(empty($conf->global->$idprof_mandatory) || !$object->isACompany())).''; print $formcompany->get_input_id_prof($i, $key, $object->$key, $object->country_code); print '
    '.$form->editfieldkey('VATIsUsed', 'assujtva_value', '', $object, 0).''; @@ -2091,7 +2039,7 @@ else print ''; } print '
    '.$form->editfieldkey($langs->transcountry("LocalTax2IsUsed", $mysoc->country_code), 'localtax2assuj_value', '', $object, 0).''; print $form->selectyesno('localtax2assuj_value', $object->localtax2_assuj, 1); if (!isOnlyOneLocalTax(2)) @@ -2165,6 +2113,7 @@ else print $form->selectarray("typent_id", $formcompany->typent_array(0), $object->typent_id, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT)); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); print '
    '.$form->editfieldkey('Staff', 'effectif_id', '', $object, 0).''; print $form->selectarray("effectif_id", $formcompany->effectif_array(0), $object->effectif_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -2824,7 +2773,7 @@ else $MAXEVENT = 10; - $morehtmlright = dolGetButtonTitle($langs->trans('SeeAll'), '', 'fa fa-list-alt', DOL_URL_ROOT.'/societe/agenda.php?socid='.$object->id); + $morehtmlright = dolGetButtonTitle($langs->trans('SeeAll'), '', 'fa fa-list-alt imgforviewmode', DOL_URL_ROOT.'/societe/agenda.php?socid='.$object->id); // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; diff --git a/htdocs/societe/checkvat/checkVatPopup.php b/htdocs/societe/checkvat/checkVatPopup.php index 8d004fa4c79..91d0fe9bb1a 100644 --- a/htdocs/societe/checkvat/checkVatPopup.php +++ b/htdocs/societe/checkvat/checkVatPopup.php @@ -28,13 +28,12 @@ require_once NUSOAP_PATH.'/nusoap.php'; $langs->load("companies"); //http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl -$WS_DOL_URL = 'http://ec.europa.eu/taxation_customs/vies/services/checkVatService'; +$WS_DOL_URL = 'https://ec.europa.eu/taxation_customs/vies/services/checkVatService'; //$WS_DOL_URL_WSDL=$WS_DOL_URL.'?wsdl'; -$WS_DOL_URL_WSDL = 'http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl'; +$WS_DOL_URL_WSDL = 'https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl'; $WS_METHOD = 'checkVat'; - $conf->dol_hide_topmenu = 1; $conf->dol_hide_leftmenu = 1; diff --git a/htdocs/societe/class/api_thirdparties.class.php b/htdocs/societe/class/api_thirdparties.class.php index 1100432c854..c50a746c444 100644 --- a/htdocs/societe/class/api_thirdparties.class.php +++ b/htdocs/societe/class/api_thirdparties.class.php @@ -129,7 +129,7 @@ class Thirdparties extends DolibarrApi $sql .= " FROM ".MAIN_DB_PREFIX."societe as t"; if ($category > 0) { if ($mode != 4) $sql .= ", ".MAIN_DB_PREFIX."categorie_societe as c"; - if (!in_array($mode, array(1,2,3))) $sql .= ", ".MAIN_DB_PREFIX."categorie_fournisseur as cc"; + if (!in_array($mode, array(1, 2, 3))) $sql .= ", ".MAIN_DB_PREFIX."categorie_fournisseur as cc"; } if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) || $search_sale > 0) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale $sql .= ", ".MAIN_DB_PREFIX."c_stcomm as st"; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index ea175c13c6a..62140ba5d89 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1393,7 +1393,7 @@ class Societe extends CommonObject $action = 'update'; // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -1771,7 +1771,7 @@ class Societe extends CommonObject } // Removed extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -3623,7 +3623,7 @@ class Societe extends CommonObject $this->phone = $member->phone; // Prof phone $this->email = $member->email; $this->socialnetworks = $member->socialnetworks; - $this->entity=$member->entity; + $this->entity = $member->entity; $this->client = 1; // A member is a customer by default $this->code_client = ($customercode ? $customercode : -1); diff --git a/htdocs/societe/class/societeaccount.class.php b/htdocs/societe/class/societeaccount.class.php index f90cb17c230..98bdeffa637 100644 --- a/htdocs/societe/class/societeaccount.class.php +++ b/htdocs/societe/class/societeaccount.class.php @@ -79,15 +79,15 @@ class SocieteAccount extends CommonObject public $fields = array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'visible'=>-2, 'enabled'=>1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>'Id',), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'visible'=>0, 'enabled'=>1, 'position'=>5, 'default'=>1), - 'key_account' => array('type'=>'varchar(128)', 'label'=>'KeyAccount', 'visible'=>1, 'enabled'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>'Key account',), - 'login' => array('type'=>'varchar(64)', 'label'=>'Login', 'visible'=>1, 'enabled'=>1, 'position'=>10), + 'login' => array('type'=>'varchar(64)', 'label'=>'Login', 'visible'=>1, 'enabled'=>1, 'notnull'=>1, 'position'=>10, 'showoncombobox'=>1), 'pass_encoding' => array('type'=>'varchar(24)', 'label'=>'PassEncoding', 'visible'=>0, 'enabled'=>1, 'position'=>30), 'pass_crypted' => array('type'=>'varchar(128)', 'label'=>'Password', 'visible'=>1, 'enabled'=>1, 'position'=>31, 'notnull'=>1), 'pass_temp' => array('type'=>'varchar(128)', 'label'=>'Temp', 'visible'=>0, 'enabled'=>0, 'position'=>32, 'notnull'=>-1,), 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php', 'label'=>'ThirdParty', 'visible'=>1, 'enabled'=>1, 'position'=>40, 'notnull'=>-1, 'index'=>1), - 'site' => array('type'=>'varchar(128)', 'label'=>'Site', 'visible'=>-1, 'enabled'=>1, 'position'=>41), - 'site_account' => array('type'=>'varchar(128)', 'label'=>'SiteAccount', 'visible'=>-1, 'enabled'=>1, 'position'=>42, 'help'=>'A key to identify the account on external web site'), - 'fk_website' => array('type'=>'integer:Website:website/class/website.class.php', 'label'=>'WebSite', 'visible'=>1, 'enabled'=>1, 'position'=>43, 'notnull'=>-1, 'index'=>1), + 'fk_website' => array('type'=>'integer:Website:website/class/website.class.php', 'label'=>'WebSite', 'visible'=>1, 'enabled'=>1, 'position'=>42, 'notnull'=>-1, 'index'=>1), + 'site' => array('type'=>'varchar(128)', 'label'=>'ExternalSite', 'visible'=>0, 'enabled'=>1, 'position'=>43, 'help'=>'Name of the website or service if this is account on an external website or service'), + 'site_account' => array('type'=>'varchar(128)', 'label'=>'ExternalSiteAccount', 'visible'=>0, 'enabled'=>1, 'position'=>44, 'help'=>'A key to identify the account on external web site if this is an account on an external website'), + 'key_account' => array('type'=>'varchar(128)', 'label'=>'KeyAccount', 'visible'=>0, 'enabled'=>1, 'position'=>48, 'notnull'=>0, 'index'=>1, 'searchall'=>1, 'comment'=>'The id of third party in the external web site (for site_account if site_account defined)',), 'date_last_login' => array('type'=>'datetime', 'label'=>'LastConnexion', 'visible'=>2, 'enabled'=>1, 'position'=>50, 'notnull'=>0,), 'date_previous_login' => array('type'=>'datetime', 'label'=>'PreviousConnexion', 'visible'=>2, 'enabled'=>1, 'position'=>51, 'notnull'=>0,), //'note_public' => array('type'=>'text', 'label'=>'NotePublic', 'visible'=>-1, 'enabled'=>1, 'position'=>45, 'notnull'=>-1,), @@ -405,11 +405,10 @@ class SocieteAccount extends CommonObject if (!empty($conf->dol_no_mouse_hover)) $notooltip = 1; // Force disable tooltips $result = ''; - $companylink = ''; $this->ref = $this->login; - $label = ''.$langs->trans("SocieteAccount").''; + $label = ''.$langs->trans("WebsiteAccount").''; $label .= '
    '; $label .= ''.$langs->trans('Login').': '.$this->ref; //$label.= '' . $langs->trans('WebSite') . ': ' . $this->ref; @@ -429,7 +428,7 @@ class SocieteAccount extends CommonObject { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $label = $langs->trans("ShowsocieteAccount"); + $label = $langs->trans("WebsiteAccount"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; diff --git a/htdocs/societe/document.php b/htdocs/societe/document.php index f22fb1ec5b6..d082ae6baa5 100644 --- a/htdocs/societe/document.php +++ b/htdocs/societe/document.php @@ -48,11 +48,12 @@ if ($user->socid > 0) $result = restrictedArea($user, 'societe', $id, '&societe'); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index fdd7c24f280..0000494a3fe 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -134,7 +134,7 @@ else $statstring .= '
    '.$langs->trans("Customers").''.round($third['customer']).'
    '.$langs->trans("Suppliers").''.round($third['supplier']).'".dol_print_phone($obj->phone, $obj->country_code, 0, $obj->rowid)."".dol_print_phone($obj->phone, $obj->country_code, 0, $obj->rowid, 'AC_TEL')."".dol_print_phone($obj->fax, $obj->country_code, 0, $obj->rowid)."".dol_print_phone($obj->fax, $obj->country_code, 0, $obj->rowid, 'AC_TEL')."'; if ($user->rights->societe->creer) { - print ''; + print ''; print img_picto($langs->trans("Modify"), 'edit'); print ''; - print ' '; - - print ''; + print ''; print img_picto($langs->trans("Delete"), 'delete'); print ''; } diff --git a/htdocs/societe/website.php b/htdocs/societe/website.php index 7b3bf774a68..e7ebae374e2 100644 --- a/htdocs/societe/website.php +++ b/htdocs/societe/website.php @@ -449,6 +449,8 @@ while ($i < min($num, $limit)) // Store properties in $object $objectwebsiteaccount->id = $obj->rowid; + $objectwebsiteaccount->login = $obj->login; + $objectwebsiteaccount->ref = $obj->login; foreach ($objectwebsiteaccount->fields as $key => $val) { if (property_exists($obj, $key)) $object->$key = $obj->$key; @@ -481,7 +483,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $objectwebsiteaccount); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column diff --git a/htdocs/stripe/charge.php b/htdocs/stripe/charge.php index f765a2a3ec1..44c7db306a2 100644 --- a/htdocs/stripe/charge.php +++ b/htdocs/stripe/charge.php @@ -36,13 +36,13 @@ $socid = GETPOST("socid", "int"); if ($user->socid) $socid = $user->socid; //$result = restrictedArea($user, 'salaries', '', '', ''); -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $rowid = GETPOST("rowid", 'alpha'); $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/stripe/payout.php b/htdocs/stripe/payout.php index 10316ec2ece..17f2423327f 100644 --- a/htdocs/stripe/payout.php +++ b/htdocs/stripe/payout.php @@ -36,13 +36,13 @@ $socid = GETPOST("socid", "int"); if ($user->socid) $socid = $user->socid; //$result = restrictedArea($user, 'salaries', '', '', ''); -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $rowid = GETPOST("rowid", 'alpha'); $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/stripe/transaction.php b/htdocs/stripe/transaction.php index 59858a69262..3829eba4d0d 100644 --- a/htdocs/stripe/transaction.php +++ b/htdocs/stripe/transaction.php @@ -36,13 +36,13 @@ $socid = GETPOST("socid", "int"); if ($user->socid) $socid = $user->socid; //$result = restrictedArea($user, 'salaries', '', '', ''); -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $rowid = GETPOST("rowid", 'alpha'); $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index 5910f77a819..08479b95871 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -353,7 +353,7 @@ if (empty($reshook)) } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + if (method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals(); $array_options = $lines[$i]->array_options; } @@ -1098,7 +1098,7 @@ if ($action == 'create') { $currency_code = $conf->currency; - print load_fiche_titre($langs->trans("NewAskPrice")); + print load_fiche_titre($langs->trans("NewAskPrice"), '', 'supplier_proposal'); $soc = new Societe($db); if ($socid > 0) diff --git a/htdocs/supplier_proposal/class/supplier_proposal.class.php b/htdocs/supplier_proposal/class/supplier_proposal.class.php index 19c36bcaa22..97c0ee27e4e 100644 --- a/htdocs/supplier_proposal/class/supplier_proposal.class.php +++ b/htdocs/supplier_proposal/class/supplier_proposal.class.php @@ -70,7 +70,7 @@ class SupplierProposal extends CommonObject /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png */ - public $picto = 'propal'; + public $picto = 'supplier_proposal'; /** * 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -1063,7 +1063,7 @@ class SupplierProposal extends CommonObject $action = 'update'; // Actions on extra fields - if (!$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -2069,11 +2069,14 @@ class SupplierProposal extends CommonObject if (!$error) { + $main = MAIN_DB_PREFIX.'supplier_proposaldet'; + $ef = $main."_extrafields"; + $sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_supplier_proposal = ".$this->id.")"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."supplier_proposaldet WHERE fk_supplier_proposal = ".$this->id; if ($this->db->query($sql)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."supplier_proposal WHERE rowid = ".$this->id; - if ($this->db->query($sql)) + if ($this->db->query($sqlef) && $this->db->query($sql)) { // Delete linked object $res = $this->deleteObjectLinked(); @@ -2116,16 +2119,13 @@ class SupplierProposal extends CommonObject // 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); - } - } + $result = $this->deleteExtraFields(); + if ($result < 0) + { + $error++; + $errorflag = -4; + dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); + } } if (!$error) @@ -2225,7 +2225,7 @@ class SupplierProposal extends CommonObject */ public function getLibStatut($mode = 0) { - return $this->LibStatut($this->statut, $mode); + return $this->LibStatut((isset($this->statut) ? $this->statut : $this->status), $mode); } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps @@ -2465,7 +2465,7 @@ class SupplierProposal extends CommonObject // 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->nb["supplier_proposals"] = $obj->nb; } $this->db->free($resql); return 1; @@ -2555,17 +2555,16 @@ class SupplierProposal extends CommonObject $url = ''; $result = ''; - $label = ''.$langs->trans("ShowSupplierProposal").''; - if (!empty($this->ref)) - $label .= '
    '.$langs->trans('Ref').': '.$this->ref; - if (!empty($this->ref_fourn)) - $label .= '
    '.$langs->trans('RefSupplier').': '.$this->ref_fourn; - if (!empty($this->total_ht)) - $label .= '
    '.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); - if (!empty($this->total_tva)) - $label .= '
    '.$langs->trans('VAT').': '.price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); - if (!empty($this->total_ttc)) - $label .= '
    '.$langs->trans('AmountTTC').': '.price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); + $label = ''.$langs->trans("SupplierProposal").''; + if (!empty($this->ref)) $label .= '
    '.$langs->trans('Ref').': '.$this->ref; + if (!empty($this->ref_fourn)) $label .= '
    '.$langs->trans('RefSupplier').': '.$this->ref_fourn; + if (!empty($this->total_ht)) $label .= '
    '.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); + if (!empty($this->total_tva)) $label .= '
    '.$langs->trans('VAT').': '.price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); + if (!empty($this->total_ttc)) $label .= '
    '.$langs->trans('AmountTTC').': '.price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); + if (isset($this->status)) { + $label .= '
    '.$langs->trans("Status").": ".$this->getLibStatut(5); + } + if ($option == '') { $url = DOL_URL_ROOT.'/supplier_proposal/card.php?id='.$this->id.$get_params; } @@ -2597,8 +2596,6 @@ class SupplierProposal extends CommonObject $linkstart .= $linkclose.'>'; $linkend = ''; - $picto = 'supplier_proposal'; - $result .= $linkstart; if ($withpicto) $result .= img_object(($notooltip ? '' : $label), $this->picto, ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); if ($withpicto != 2) $result .= $this->ref; @@ -3109,7 +3106,7 @@ class SupplierProposalLine extends CommonObjectLine { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'supplier_proposaldet'); - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) @@ -3158,7 +3155,7 @@ class SupplierProposalLine extends CommonObjectLine if ($this->db->query($sql)) { // Remove extrafields - if ((!$error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + if (!$error) { $result = $this->deleteExtraFields(); if ($result < 0) @@ -3280,7 +3277,7 @@ class SupplierProposalLine extends CommonObjectLine $resql = $this->db->query($sql); if ($resql) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (!$error) { $result = $this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/supplier_proposal/document.php b/htdocs/supplier_proposal/document.php index 8a6ec8f1bab..3f471e28b3f 100644 --- a/htdocs/supplier_proposal/document.php +++ b/htdocs/supplier_proposal/document.php @@ -52,11 +52,12 @@ if (!empty($user->socid)) $result = restrictedArea($user, 'supplier_proposal', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/supplier_proposal/index.php b/htdocs/supplier_proposal/index.php index e337f11dfe9..e8432ad8fe4 100644 --- a/htdocs/supplier_proposal/index.php +++ b/htdocs/supplier_proposal/index.php @@ -58,14 +58,12 @@ $help_url = "EN:Module_Ask_Price_Supplier|FR:Module_Demande_de_prix_fournisseur" llxHeader("", $langs->trans("SupplierProposalArea"), $help_url); -print load_fiche_titre($langs->trans("SupplierProposalArea"), '', 'commercial'); +print load_fiche_titre($langs->trans("SupplierProposalArea"), '', 'supplier_proposal'); print '
    '; -/* - * Search form - */ +// Search form if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is useless due to the global search combo { @@ -81,9 +79,7 @@ if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) // This is useles } -/* - * Statistics - */ +// Statistics $sql = "SELECT count(p.rowid), p.fk_statut"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s"; diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index c778536685e..ded5d9ca2bf 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -259,7 +259,7 @@ if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; $sql .= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client,'; $sql .= " typent.code as typent_code,"; $sql .= " state.code_departement as state_code, state.nom as state_name,"; -$sql .= ' sp.rowid, sp.note_private, sp.total_ht, sp.tva as total_vat, sp.total as total_ttc, sp.localtax1, sp.localtax2, sp.ref, sp.fk_statut, sp.fk_user_author, sp.date_valid, sp.date_livraison as dp,'; +$sql .= ' sp.rowid, sp.note_private, sp.total_ht, sp.tva as total_vat, sp.total as total_ttc, sp.localtax1, sp.localtax2, sp.ref, sp.fk_statut as status, sp.fk_user_author, sp.date_valid, sp.date_livraison as dp,'; $sql .= ' sp.fk_multicurrency, sp.multicurrency_code, sp.multicurrency_tx, sp.multicurrency_total_ht, sp.multicurrency_total_tva as multicurrency_total_vat, sp.multicurrency_total_ttc,'; $sql .= ' sp.datec as date_creation, sp.tms as date_update,'; $sql .= " p.rowid as project_id, p.ref as project_ref,"; @@ -431,7 +431,7 @@ if ($resql) print ''; print ''; - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, $newcardbutton, '', $limit, 0, 0, 1); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'supplier_proposal', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "SendSupplierProposalRef"; $modelmail = "supplier_proposal_send"; @@ -534,7 +534,7 @@ if ($resql) // Date if (!empty($arrayfields['sp.date_valid']['checked'])) { - print '
    '; + print ''; //print $langs->trans('Month').': '; print ''; //print ' '.$langs->trans('Year').': '; @@ -545,7 +545,7 @@ if ($resql) // Date if (!empty($arrayfields['sp.date_livraison']['checked'])) { - print ''; + print ''; //print $langs->trans('Month').': '; print ''; //print ' '.$langs->trans('Year').': '; @@ -695,6 +695,13 @@ if ($resql) $objectstatic->ref = $obj->ref; $objectstatic->note_public = $obj->note_public; $objectstatic->note_private = $obj->note_private; + $objectstatic->status = $obj->status; + + // Company + $companystatic->id = $obj->socid; + $companystatic->name = $obj->name; + $companystatic->client = $obj->client; + $companystatic->code_client = $obj->code_client; print '
    '.$objectstatic->LibStatut($obj->fk_statut, 5)."'.$objectstatic->getLibStatut(5)."
    '; +print ''; +print ''; +print "\n"; + +if ($conf->global->TAKEPOS_BAR_RESTAURANT && $conf->global->TAKEPOS_PRINT_METHOD != "browser") { + print ''; + + print ''; +} + +print ''; + +print ''; + +if ($conf->global->TAKEPOS_SUPPLEMENTS) +{ + print '\n"; +} + +print ''; + + +print '
    '.$langs->trans("Parameters").''.$langs->trans("Value").'
    '; + print $langs->trans("OrderPrinters").' ('.$langs->trans("Setup").')'; + print ''; + print ajax_constantonoff("TAKEPOS_ORDER_PRINTERS", array(), $conf->entity, 0, 0, 1, 0); + //print $form->selectyesno("TAKEPOS_ORDER_PRINTERS", $conf->global->TAKEPOS_ORDER_PRINTERS, 1); + print '
    '; + print $langs->trans("OrderNotes"); + print ''; + print ajax_constantonoff("TAKEPOS_ORDER_NOTES", array(), $conf->entity, 0, 0, 1, 0); + //print $form->selectyesno("TAKEPOS_ORDER_NOTES", $conf->global->TAKEPOS_ORDER_NOTES, 1); + print '
    '; +print $langs->trans("BasicPhoneLayout"); +print ''; +//print $form->selectyesno("TAKEPOS_PHONE_BASIC_LAYOUT", $conf->global->TAKEPOS_PHONE_BASIC_LAYOUT, 1); +print ajax_constantonoff("TAKEPOS_PHONE_BASIC_LAYOUT", array(), $conf->entity, 0, 0, 1, 0); +print '
    '; +print $langs->trans("ProductSupplements"); +print ''; +//print $form->selectyesno("TAKEPOS_SUPPLEMENTS", $conf->global->TAKEPOS_SUPPLEMENTS, 1); +print ajax_constantonoff("TAKEPOS_SUPPLEMENTS", array(), $conf->entity, 0, 0, 1, 0); +print '
    '; + print $langs->trans("SupplementCategory"); + print ''; + print $form->select_all_categories(Categorie::TYPE_PRODUCT, $conf->global->TAKEPOS_SUPPLEMENTS_CATEGORY, 'TAKEPOS_SUPPLEMENTS_CATEGORY', 64, 0, 0); + print ajax_combobox('TAKEPOS_SUPPLEMENTS_CATEGORY'); + print "
    '; +print $langs->trans("AutoOrder"); +print ''; +print ajax_constantonoff("TAKEPOS_AUTO_ORDER", array(), $conf->entity, 0, 0, 1, 0); +print '
    '; + +if ($conf->global->TAKEPOS_AUTO_ORDER) +{ + print '
    '; + print ''; + print ''; + print ''; + print "\n"; + + //global $dolibarr_main_url_root; + $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file + $sql = "SELECT rowid, entity, label, leftpos, toppos, floor FROM ".MAIN_DB_PREFIX."takepos_floor_tables"; + $resql = $db->query($sql); + $rows = array(); + while ($row = $db->fetch_array($resql)) { + print ''; + } + + print '
    '.$langs->trans("Table").''.$langs->trans("URL").''.$langs->trans("QR").'
    '; + print $langs->trans("Table")." ".$row['label']; + print ''; + print "".$urlwithroot."/takepos/public/auto_order.php?key=".dol_encode($row['rowid']).""; + print ''; + print ""; + print '
    '; +} + +print ''; + +print '
    '; + +print '
    '; + +print "\n"; + +print '
    '; + +llxFooter(); +$db->close(); diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index bf5c4671b13..85406c46faa 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -274,7 +274,7 @@ if (!empty($conf->service->enabled)) print '
    '; print $form->textwithpicto($langs->trans("RootCategoryForProductsToSell"), $langs->trans("RootCategoryForProductsToSellDesc")); print ''; -print $form->select_all_categories(Categorie::TYPE_PRODUCT, $conf->global->TAKEPOS_ROOT_CATEGORY_ID, 'TAKEPOS_ROOT_CATEGORY_ID', 64, 0, 0); +print img_object('', 'category', 'class="paddingright"').$form->select_all_categories(Categorie::TYPE_PRODUCT, $conf->global->TAKEPOS_ROOT_CATEGORY_ID, 'TAKEPOS_ROOT_CATEGORY_ID', 64, 0, 0); print ajax_combobox('TAKEPOS_ROOT_CATEGORY_ID'); print "
    '; -print ''; - -print '
    '; - -// Bar Restaurant mode -print '
    '; -print ''; - -print ''; -print ''; -print "\n"; - print ''; @@ -455,48 +442,6 @@ print ajax_constantonoff("TAKEPOS_BAR_RESTAURANT", array(), $conf->entity, 0, 0, //print $form->selectyesno("TAKEPOS_BAR_RESTAURANT", $conf->global->TAKEPOS_BAR_RESTAURANT, 1); print "\n"; -if ($conf->global->TAKEPOS_BAR_RESTAURANT && $conf->global->TAKEPOS_PRINT_METHOD != "browser") { - print ''; - - print ''; -} - -if ($conf->global->TAKEPOS_BAR_RESTAURANT) -{ - print ''; - - print ''; - - if ($conf->global->TAKEPOS_SUPPLEMENTS) - { - print '\n"; - } -} print '
    '.$langs->trans("Other").''.$langs->trans("Value").'
    '; print $langs->trans("EnableBarOrRestaurantFeatures"); print '
    '; - print $langs->trans("OrderPrinters").' ('.$langs->trans("Setup").')'; - print ''; - print ajax_constantonoff("TAKEPOS_ORDER_PRINTERS", array(), $conf->entity, 0, 0, 1, 0); - //print $form->selectyesno("TAKEPOS_ORDER_PRINTERS", $conf->global->TAKEPOS_ORDER_PRINTERS, 1); - print '
    '; - print $langs->trans("OrderNotes"); - print ''; - print ajax_constantonoff("TAKEPOS_ORDER_NOTES", array(), $conf->entity, 0, 0, 1, 0); - //print $form->selectyesno("TAKEPOS_ORDER_NOTES", $conf->global->TAKEPOS_ORDER_NOTES, 1); - print '
    '; - print $langs->trans("BasicPhoneLayout"); - print ''; - //print $form->selectyesno("TAKEPOS_PHONE_BASIC_LAYOUT", $conf->global->TAKEPOS_PHONE_BASIC_LAYOUT, 1); - print ajax_constantonoff("TAKEPOS_PHONE_BASIC_LAYOUT", array(), $conf->entity, 0, 0, 1, 0); - print '
    '; - print $langs->trans("ProductSupplements"); - print ''; - //print $form->selectyesno("TAKEPOS_SUPPLEMENTS", $conf->global->TAKEPOS_SUPPLEMENTS, 1); - print ajax_constantonoff("TAKEPOS_SUPPLEMENTS", array(), $conf->entity, 0, 0, 1, 0); - print '
    '; - print $langs->trans("SupplementCategory"); - print ''; - print $form->select_all_categories(Categorie::TYPE_PRODUCT, $conf->global->TAKEPOS_SUPPLEMENTS_CATEGORY, 'TAKEPOS_SUPPLEMENTS_CATEGORY', 64, 0, 0); - print ajax_combobox('TAKEPOS_SUPPLEMENTS_CATEGORY'); - print "
    '; print '
    '; diff --git a/htdocs/takepos/admin/terminal.php b/htdocs/takepos/admin/terminal.php index 10a679615a9..46d168ddd24 100644 --- a/htdocs/takepos/admin/terminal.php +++ b/htdocs/takepos/admin/terminal.php @@ -264,7 +264,7 @@ if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter") { print '
    '.$langs->trans('CashDeskReaderKeyCodeForEnter').''; -print ''; +print ''; print '
    '; $htmlforlines .= $row->label; - $htmlforlines .= '
    '; @@ -941,6 +948,7 @@ if ($placeid > 0) if (is_array($invoice->lines) && count($invoice->lines)) { + print ''."\n"; $tmplines = array_reverse($invoice->lines); foreach ($tmplines as $line) { @@ -983,6 +991,7 @@ if ($placeid > 0) } $htmlforlines .= '" id="'.$line->id.'">'; $htmlforlines .= '
    '; + if ($_SESSION["basiclayout"] == 1) $htmlforlines .= $line->qty." x "; //if ($line->product_label) $htmlforlines.= ''.$line->product_label.''; if (isset($line->product_type)) { @@ -990,11 +999,14 @@ if ($placeid > 0) else $htmlforlines .= img_object('', 'service').' '; } if (empty($conf->global->TAKEPOS_SHOW_N_FIRST_LINES)) { - $tooltiptext = ''.$langs->trans("Ref").' : '.$line->product_ref.'
    '; - $tooltiptext .= ''.$langs->trans("Label").' : '.$line->product_label.'
    '; - if ($line->product_label != $line->desc) { - if ($line->desc) $tooltiptext .= '
    '; - $tooltiptext .= $line->desc; + $tooltiptext = ''; + if ($line->product_ref) { + $tooltiptext .= ''.$langs->trans("Ref").' : '.$line->product_ref.'
    '; + $tooltiptext .= ''.$langs->trans("Label").' : '.$line->product_label.'
    '; + if ($line->product_label != $line->desc) { + if ($line->desc) $tooltiptext .= '
    '; + $tooltiptext .= $line->desc; + } } $htmlforlines .= $form->textwithpicto($line->product_label ? $line->product_label : ($line->product_ref ? $line->product_ref : dolGetFirstLineOfText($line->desc, 1)), $tooltiptext); } else { diff --git a/htdocs/takepos/phone.php b/htdocs/takepos/phone.php index b2526ef885e..90f0aa363dc 100644 --- a/htdocs/takepos/phone.php +++ b/htdocs/takepos/phone.php @@ -31,15 +31,21 @@ if (!defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); if (!defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); if (!defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); -require '../main.inc.php'; // Load $user and permissions +if (!defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; -$place = (GETPOST('place', 'aZ09') ? GETPOST('place', 'aZ09') : 0); // $place is id of table for Ba or Restaurant +if (defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { + // Decode place if it is an order from customer phone + $key = GETPOST('key'); + $place = dol_decode($key); +} +else $place = (GETPOST('place', 'aZ09') ? GETPOST('place', 'aZ09') : 0); // $place is id of table for Ba or Restaurant $action = GETPOST('action', 'alpha'); $setterminal = GETPOST('setterminal', 'int'); +$idproduct = GETPOST('idproduct', 'int'); if ($setterminal > 0) { @@ -48,11 +54,10 @@ if ($setterminal > 0) $langs->loadLangs(array("bills", "orders", "commercial", "cashdesk", "receiptprinter")); -if (empty($user->rights->takepos->run)) { +if (empty($user->rights->takepos->run) && !defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { accessforbidden(); } - /* * View */ @@ -66,48 +71,82 @@ $head = ' '; top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); -?> - - -global->TAKEPOS_NUM_TERMINALS != "1" && $_SESSION["takeposterminal"] == "") print '
    '.$langs->trans('TerminalSelect').'
    '; -?> + global->TAKEPOS_NUM_TERMINALS != "1" && $_SESSION["takeposterminal"] == "") print '
    '.$langs->trans('TerminalSelect').'
    '; + ?>
    - - - - + '.strtoupper(substr($langs->trans('Floors'), 0, 3)).''; + print ''; + print ''; + print ''; + } + else { + print ''; + print ''; + print ''; + } + ?>
    @@ -188,7 +315,8 @@ if ($conf->global->TAKEPOS_NUM_TERMINALS != "1" && $_SESSION["takeposterminal"]
    - + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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/takepos/public/auto_order.php + * \ingroup takepos + * \brief Public orders for customers + */ + +if (!defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session) +if (!defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip + +require '../../main.inc.php'; + +if (!$conf->global->TAKEPOS_AUTO_ORDER) accessforbidden(); // If Auto Order is disabled never allow NO LOGIN access + +$_SESSION["basiclayout"] = 1; +$_SESSION["takeposterminal"] = 1; + +define('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE', 1); +if (GETPOSTISSET("mobilepage")) require '../invoice.php'; +elseif (GETPOSTISSET("genimg")) require DOL_DOCUMENT_ROOT.'/takepos/genimg/index.php'; +else require '../phone.php'; diff --git a/htdocs/takepos/receipt.php b/htdocs/takepos/receipt.php index c025f504d73..90b3a5c1fee 100644 --- a/htdocs/takepos/receipt.php +++ b/htdocs/takepos/receipt.php @@ -25,7 +25,7 @@ * \brief Page to show a receipt. */ -require '../main.inc.php'; // Load $user and permissions +if (!isset($action)) require '../main.inc.php'; // If this file is called from send.php avoid load again include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $langs->loadLangs(array("main", "cashdesk", "companies")); diff --git a/htdocs/takepos/send.php b/htdocs/takepos/send.php index 5774c9bbaf1..3f59d4069b5 100644 --- a/htdocs/takepos/send.php +++ b/htdocs/takepos/send.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2019 Thibault FOUCART + * Copyright (C) 2020 Andreu Bisquerra Gaya * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,123 +36,73 @@ require '../main.inc.php'; // Load $user and permissions require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; -$invoiceid = GETPOST('facid', 'int'); +$facid = GETPOST('facid', 'int'); +$action = GETPOST('action', 'alpha'); +$email = GETPOST('email', 'alpha'); if (empty($user->rights->takepos->run)) { accessforbidden(); } - -/* - * View - */ - -$invoice = new Facture($db); -if ($invoiceid > 0) -{ - $invoice->fetch($invoiceid); -} -else -{ - $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture where ref='(PROV-POS".$_SESSION["takeposterminal"]."-".$place.")'"; - $resql = $db->query($sql); - $obj = $db->fetch_object($resql); - if ($obj) - { - $invoiceid = $obj->rowid; - } - if (!$invoiceid) - { - $invoiceid = 0; // Invoice does not exist yet - } - else - { - $invoice->fetch($invoiceid); - } -} - $langs->loadLangs(array("main", "bills", "cashdesk")); +$invoice = new Facture($db); +$invoice->fetch($facid); +$customer = new Societe($db); +$customer->fetch($invoice->socid); + +if ($action=="send") +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + $outputlangs = new Translate('', $conf); + $model_id = $conf->global->TAKEPOS_EMAIL_TEMPLATE_INVOICE; + $arraydefaultmessage = $formmail->getEMailTemplate($db, 'facture_send', $user, $outputlangs, $model_id); + $subject = $arraydefaultmessage->topic; + ob_start(); // turn on output receipt + include 'receipt.php'; + $receipt = ob_get_contents(); // get the contents of the output buffer + ob_end_clean(); + $msg="".$arraydefaultmessage->content."
    ".$receipt.""; + $sendto=$email; + $from=$mysoc->email; + $mail = new CMailFile($subject, $sendto, $from, $msg, array(), array(), array(), '', '', 0, 1); + if ($mail->error || $mail->errors) { + setEventMessages($mail->error, $mail->errors, 'errors'); + } else { + $result = $mail->sendfile(); + } + exit; +} +$arrayofcss = array('/takepos/css/pos.css.php'); +$arrayofjs = array(); +top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); ?> -
    -
    +
    +

    - +
    diff --git a/htdocs/theme/dolibarr_logo.png b/htdocs/theme/dolibarr_logo.png index 77c21461910..c15f03c821b 100644 Binary files a/htdocs/theme/dolibarr_logo.png and b/htdocs/theme/dolibarr_logo.png differ diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 2e49395d9b3..3e213c3d8e2 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -17,6 +17,7 @@ --colorbacklinepair2: rgb(); --colorbacklinepairhover: rgb(); --colorbacklinepairchecked: rgb(); + --colorbacklinebreak: rgb(); --colorbackbody: rgb(); --colortexttitlenotab: rgb(); --colortexttitle: rgb(); @@ -149,7 +150,7 @@ input[name=duration_value] { margin-right: 4px; } -input[type=submit] { +input[type=submit], input[type=submit]:hover { margin-left: 5px; } input, input.flat, form.flat select, select, select.flat, .dataTables_length label select { @@ -210,7 +211,9 @@ textarea.cke_source:focus { box-shadow: none; } - +div#cke_dp_desc { + margin-top: 5px; +} textarea { border-radius: 0; border-top:solid 1px rgba(0,0,0,.2); @@ -238,6 +241,8 @@ input.buttongen { input.buttonpayment, button.buttonpayment, div.buttonpayment { min-width: 290px; margin-bottom: 15px; + margin-top: 15px; + height: 60px; background-image: none; line-height: 24px; padding: 8px; @@ -249,6 +254,8 @@ input.buttonpayment, button.buttonpayment, div.buttonpayment { box-shadow: 1px 1px 4px #bbb; color: #fff; border-radius: 4px; + cursor: pointer; + max-width: 350px; } div.buttonpayment input:focus { color: #008; @@ -409,7 +416,7 @@ div#moretabsList, div#moretabsListaction { hr { border: 0; border-top: 1px solid #ccc; } .tabBar hr { margin-top: 20px; margin-bottom: 17px; } -.button:not(.bordertransp), .buttonDelete:not(.bordertransp) { +.button:not(.bordertransp):not(.buttonpayment), .buttonDelete:not(.bordertransp):not(.buttonpayment) { margin-bottom: 0; margin-top: 0; margin-left: 5px; @@ -536,6 +543,9 @@ textarea.centpercent { color: #777; } +.flip { + transform: scaleX(-1); +} .center { text-align: center; margin: 0px auto; @@ -661,7 +671,9 @@ body[class*="colorblind-"] .text-success{ .editfielda span.fa-pencil-alt:hover, .editfielda span.fa-trash:hover, .editfieldlang:hover { color: var(--colortexttitle) !important; } - +.fawidth30 { + width: 20px; +} .floatnone { float: none !important; } @@ -869,7 +881,7 @@ select.flat.selectlimit { max-width: 0; overflow: auto; } -.divintdwithtwolinesmax { +.divintowithtwolinesmax { width: 75px; display: -webkit-box; -webkit-box-orient: vertical; @@ -1015,9 +1027,11 @@ table[summary="list_of_modules"] .fa-cog { .clearboth { clear:both; } .hideobject { display: none; } .minwidth50 { min-width: 50px; } +.minwidth75 { min-width: 75px; } /* rule for not too small screen only */ @media only screen and (min-width: global->THEME_ELDY_WITDHOFFSET_FOR_REDUC3) ? round($nbtopmenuentries * 47, 0) + 130 : $conf->global->THEME_ELDY_WITDHOFFSET_FOR_REDUC3; ?>px) { + .width20 { width: 20px; } .width25 { width: 25px; } .width50 { width: 50px; } .width75 { width: 75px; } @@ -1039,6 +1053,7 @@ table[summary="list_of_modules"] .fa-cog { .minwidth500imp { min-width: 500px !important; } } .widthauto { width: auto; } +.width20 { width: 20px; } .width25 { width: 25px; } .width50 { width: 50px; } .width75 { width: 75px; } @@ -1123,6 +1138,22 @@ table[summary="list_of_modules"] .fa-cog { padding-left: 5px; padding-right: 5px; } + + .hideonsmartphone { display: none; } + .hideonsmartphoneimp { display: none !important; } + + span.pictotitle { + margin-: 0 !important; + } + div.fiche>table.table-fiche-title { + margin-top: 7px !important; + margin-bottom: 15px !important; + } + + select.minwidth100imp, select.minwidth100, select.minwidth200, .widthcentpercentminusx { + width: calc(100% - 30px) !important; + display: inline-block; + } } /* Force values for small screen 570 */ @@ -1131,6 +1162,10 @@ table[summary="list_of_modules"] .fa-cog { body { font-size: ; } + + .box-flex-item { + margin: 3px 2px 3px 2px !important; + } div.refidno { font-size: !important; } @@ -1180,8 +1215,6 @@ table[summary="list_of_modules"] .fa-cog { max-width: 138px; /* length of input text in the quick search box when using a smartphone and without dolidroid */ } - .hideonsmartphone { display: none; } - .hideonsmartphoneimp { display: none !important; } .noenlargeonsmartphone { width : 50px !important; display: inline !important; } .maxwidthonsmartphone, #search_newcompany.ui-autocomplete-input { max-width: 100px; } .maxwidth50onsmartphone { max-width: 40px; } @@ -1460,10 +1493,10 @@ body.onlinepaymentbody div.fiche { /* For online payment page */ margin: 20px !important; } div.fiche>table:first-child { - margin-bottom: 15px !important; + margin-bottom: 15px; } div.fiche>table.table-fiche-title { - margin-bottom: 7px !important; + margin-bottom: 7px; } div.fichecenter { width: 100%; @@ -1579,7 +1612,7 @@ div.nopadding { } td.nobordernopadding.widthpictotitle.col-picto { - color: var(--colortexttitlenotab); + color: #bbb; opacity: 0.85; } .table-list-of-attached-files .col-picto, .table-list-of-links .col-picto { @@ -1595,12 +1628,6 @@ td.nobordernopadding.widthpictotitle.col-picto { margin-: 8px; /* margin-bottom: 4px; */ } -@media only screen and (max-width: 767px) -{ - span.pictotitle { - margin-: 0 !important; - } -} .pictoobjectwidth { width: 14px; } @@ -1681,6 +1708,7 @@ div.statusref { margin-top: 8px; margin-bottom: 10px; clear: both; + text-align: right; } div.statusref img { padding-left: 8px; @@ -1695,8 +1723,8 @@ div.statusrefbis { } img.photoref, div.photoref { /* border: 1px solid #DDD; */ - -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2), 0px 0px 2px rgba(0, 0, 0, 0.1); - box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2), 0px 0px 2px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); + box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); padding: 4px; height: 80px; width: 80px; @@ -1724,7 +1752,7 @@ img.photorefnoborder { border-bottom: px solid rgb(); /* border-bottom: 2px solid var(--colorbackhmenu1); */ } -.trextrafieldseparator td { +.trextrafieldseparator td, .trextrafields_collapse_last td { /* border-bottom: 2px solid var(--colorbackhmenu1) !important; */ border-bottom: 2px solid rgb() !important; } @@ -1874,8 +1902,8 @@ div.tmenuleft } div.tmenucenter { - padding-left: 0px; - padding-right: 3px; + padding-left: 2px; + padding-right: 2px; padding-top: 8px; height: 26px; @@ -3262,7 +3290,7 @@ td.evenodd, tr.nohoverpair td, #trlinefordates td { .trforbreak td { font-weight: 500; border-bottom: 1pt solid black !important; - /* background-color: # !important; */ + background-color: var(--colorbacklinebreak) !important; !important; } .trforbreak.nobold td a, .trforbreak.nobold span.secondary { font-weight: normal !important; @@ -3355,6 +3383,7 @@ tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste } 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; + color: rgb(); } tr.liste_titre_topborder td { border-top-width: px; @@ -3574,6 +3603,12 @@ ul.noborder li:nth-child(even):not(.liste_titre) { @media only screen and (max-width: 767px) { + a.tmenu:link, a.tmenu:visited, a.tmenu:hover, a.tmenu:active { + padding: 0px 0px 0px 0px; + } + a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active { + padding: 0px 0px 0px 0px; + } .boxstats, .boxstats130 { margin: 3px; } @@ -3609,7 +3644,7 @@ ul.noborder li:nth-child(even):not(.liste_titre) { box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.20); } span.boxstatstext { - opacity: 0.7; + opacity: 0.5; line-height: 18px; color: var(--colortext); } @@ -3766,7 +3801,7 @@ div.info { padding-bottom: 8px; margin: 1em 0em 1em 0em; background: #eff8fc; - color: #666; + color: #668; } /* Warning message */ @@ -4856,7 +4891,7 @@ ul.ecmjqft li { ul.ecmjqft a { line-height: 24px; vertical-align: middle; - color: #333; + color: unset; padding: 0px 0px; font-weight:normal; display: inline-block !important; @@ -6298,7 +6333,9 @@ div.tabsElem a.tab { div.login_block_user, div.login_block_other { clear: both; } .atoplogin, .atoplogin:hover { - color: #000 !important; + color:unset !important; + padding-left: 4px; + padding-right: 4px; } .login_block_elem { padding: 0 !important; diff --git a/htdocs/theme/eldy/img/object_geoip.png b/htdocs/theme/eldy/img/object_geoip.png new file mode 100644 index 00000000000..dcf80a67e65 Binary files /dev/null and b/htdocs/theme/eldy/img/object_geoip.png differ diff --git a/htdocs/theme/eldy/info-box.inc.php b/htdocs/theme/eldy/info-box.inc.php index 3222cbe7964..3d9c392f32b 100644 --- a/htdocs/theme/eldy/info-box.inc.php +++ b/htdocs/theme/eldy/info-box.inc.php @@ -6,14 +6,20 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?> * Component: Info Box * ------------------- */ + +.info-box-module-external span.info-box-icon-version { + background: #bbb; +} + .info-box { display: block; position: relative; min-height: 90px; - background: #fff; + /* background: #fff; */ width: 100%; - box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2), 0px 0px 2px rgba(0, 0, 0, 0.1); - border-radius: 2px; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1); + border-radius: 2px; + border: 1px solid #eee; margin-bottom: 15px; } .info-box.info-box-sm{ @@ -62,13 +68,13 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?> text-align: center; font-size: 45px; line-height: 90px; - background: rgba(0, 0, 0, 0.2); + background: rgba(0, 0, 0, 0.08) !important } .info-box-sm .info-box-icon { height: 80px; width: 80px; font-size: 25px; - line-height: 80px; + line-height: 100px; } .info-box-module .info-box-icon { height: 106px; @@ -77,7 +83,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?> max-width: 100%; } .info-box-module .info-box-icon > img { - max-width: 55%; + max-width: 60%; } .info-box-icon-text{ @@ -198,41 +204,39 @@ if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) $conf->global->THEME_AGRESSIVENES .info-box-icon { color: #fff !important; - - background-color: #eee !important; opacity: 0.95; } -.bg-infoxbox-project{ - color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; +.bg-infobox-project{ + color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-action{ +.bg-infobox-action{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-propal, -.bg-infoxbox-facture, -.bg-infoxbox-commande{ +.bg-infobox-propal, +.bg-infobox-facture, +.bg-infobox-commande{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-supplier_proposal, -.bg-infoxbox-invoice_supplier, -.bg-infoxbox-order_supplier{ +.bg-infobox-supplier_proposal, +.bg-infobox-invoice_supplier, +.bg-infobox-order_supplier{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-contrat, .bg-infoxbox-ticket{ +.bg-infobox-contrat, .bg-infobox-ticket{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-bank_account{ +.bg-infobox-bank_account{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-adherent{ +.bg-infobox-adherent{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-expensereport{ +.bg-infobox-expensereport{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-holiday{ +.bg-infobox-holiday{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } @@ -242,7 +246,7 @@ if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) $conf->global->THEME_AGRESSIVENES } .fa-dol-propal:before, .fa-dol-supplier_proposal:before { - content: "\f2b5"; + content: "\f573"; } .fa-dol-facture:before, .fa-dol-invoice_supplier:before { diff --git a/htdocs/theme/eldy/main_menu_fa_icons.inc.php b/htdocs/theme/eldy/main_menu_fa_icons.inc.php index e2cd9d339c5..c344838458d 100644 --- a/htdocs/theme/eldy/main_menu_fa_icons.inc.php +++ b/htdocs/theme/eldy/main_menu_fa_icons.inc.php @@ -8,7 +8,7 @@ font-style: normal; font-variant: normal; text-rendering: auto; - line-height: 26px; + line-height: 23px; font-size: ; -webkit-font-smoothing: antialiased; text-align:center; @@ -145,7 +145,7 @@ div.mainmenu.generic4::before { /* Define color of some picto */ -.fa-phone, .fa-fax { +.fa-phone, .fa-mobile-alt, .fa-fax { opacity: 0.5; color: #440; } diff --git a/htdocs/theme/eldy/progress.inc.php b/htdocs/theme/eldy/progress.inc.php index b0bd96df1d2..71f25ff35ba 100644 --- a/htdocs/theme/eldy/progress.inc.php +++ b/htdocs/theme/eldy/progress.inc.php @@ -123,7 +123,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?> width: 3px; } .progress-group .progress-text { - font-weight: 600; + /* font-weight: 600; */ } .progress-group .progress-number { float: right; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 39fcd003335..927d29e1919 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -128,6 +128,7 @@ $colorbacklinebreak = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (emp $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); $colortexttitlenotab = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTTITLENOTAB) ? $colortexttitlenotab : $conf->global->THEME_ELDY_TEXTTITLENOTAB) : (empty($user->conf->THEME_ELDY_TEXTTITLENOTAB) ? $colortexttitlenotab : $user->conf->THEME_ELDY_TEXTTITLENOTAB); $colortexttitle = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTTITLE) ? $colortexttitle : $conf->global->THEME_ELDY_TEXTTITLE) : (empty($user->conf->THEME_ELDY_TEXTTITLE) ? $colortexttitle : $user->conf->THEME_ELDY_TEXTTITLE); +$colortexttitlelink = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTTITLELINK) ? $colortexttitlelink : $conf->global->THEME_ELDY_TEXTTITLELINK) : (empty($user->conf->THEME_ELDY_TEXTTITLELINK) ? $colortexttitlelink : $user->conf->THEME_ELDY_TEXTTITLELINK); $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); $colortextlink = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTLINK) ? $colortextlink : $conf->global->THEME_ELDY_TEXTLINK) : (empty($user->conf->THEME_ELDY_TEXTLINK) ? $colortextlink : $user->conf->THEME_ELDY_TEXTLINK); $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); diff --git a/htdocs/theme/eldy/theme_vars.inc.php b/htdocs/theme/eldy/theme_vars.inc.php index f6324f0146f..d2a11725ecf 100644 --- a/htdocs/theme/eldy/theme_vars.inc.php +++ b/htdocs/theme/eldy/theme_vars.inc.php @@ -65,10 +65,11 @@ $colorbacklinepair1 = '251,251,251'; // line pair $colorbacklinepair2 = '251,251,251'; // line pair $colorbacklinepairhover = '230,237,244'; // line hover $colorbacklinepairchecked = '230,237,244'; // line checked -$colorbacklinebreak = '233,228,230'; // line break +$colorbacklinebreak = '253,251,250'; // line break $colorbackbody = '255,255,255'; $colortexttitlenotab = '0,113,120'; // 150,90,121 140,80,10 or 10,140,80 #875a7b green=0,113,120, violet: 0,50,120 $colortexttitle = '0,0,0'; +$colortexttitlelink = '10, 20, 100'; $colortext = '0,0,0'; $colortextlink = '10, 20, 100'; $fontsize = '0.86em'; diff --git a/htdocs/theme/eldy/timeline.inc.php b/htdocs/theme/eldy/timeline.inc.php index 21e683e42f0..eb13821c221 100644 --- a/htdocs/theme/eldy/timeline.inc.php +++ b/htdocs/theme/eldy/timeline.inc.php @@ -154,7 +154,7 @@ a.timeline-btn:hover border-radius: 50%; text-align: center; left: 18px; - top: 0; + top: 5px; } .timeline > .time-label > span { font-weight: 600; diff --git a/htdocs/theme/md/img/object_geoip.png b/htdocs/theme/md/img/object_geoip.png new file mode 100644 index 00000000000..dcf80a67e65 Binary files /dev/null and b/htdocs/theme/md/img/object_geoip.png differ diff --git a/htdocs/theme/md/info-box.inc.php b/htdocs/theme/md/info-box.inc.php index ad1f037ab1e..d866cab96a6 100644 --- a/htdocs/theme/md/info-box.inc.php +++ b/htdocs/theme/md/info-box.inc.php @@ -7,6 +7,10 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?> * ------------------- */ +.info-box-module-external span.info-box-icon-version { + background: #999; +} + span.info-box-icon-text { /* hide box text number due to problems */ display: none; } @@ -110,35 +114,35 @@ include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; if (!isset($conf->global->THEME_AGRESSIVENESS_RATIO)) $conf->global->THEME_AGRESSIVENESS_RATIO = -100; if (GETPOSTISSET('THEME_AGRESSIVENESS_RATIO')) $conf->global->THEME_AGRESSIVENESS_RATIO = GETPOST('THEME_AGRESSIVENESS_RATIO', 'int'); ?> -.bg-infoxbox-project i.fa{ +.bg-infobox-project i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-action i.fa{ +.bg-infobox-action i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-propal i.fa, -.bg-infoxbox-facture i.fa, -.bg-infoxbox-commande i.fa{ +.bg-infobox-propal i.fa, +.bg-infobox-facture i.fa, +.bg-infobox-commande i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-supplier_proposal i.fa, -.bg-infoxbox-invoice_supplier i.fa, -.bg-infoxbox-order_supplier i.fa{ +.bg-infobox-supplier_proposal i.fa, +.bg-infobox-invoice_supplier i.fa, +.bg-infobox-order_supplier i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-contrat i.fa, .bg-infoxbox-ticket i.fa{ +.bg-infobox-contrat i.fa, .bg-infobox-ticket i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-bank_account i.fa{ +.bg-infobox-bank_account i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-adherent i.fa{ +.bg-infobox-adherent i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-expensereport i.fa{ +.bg-infobox-expensereport i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } -.bg-infoxbox-holiday i.fa{ +.bg-infobox-holiday i.fa{ color: global->THEME_AGRESSIVENESS_RATIO); ?> !important; } diff --git a/htdocs/theme/md/manifest.json.php b/htdocs/theme/md/manifest.json.php new file mode 100644 index 00000000000..f8d059752a6 --- /dev/null +++ b/htdocs/theme/md/manifest.json.php @@ -0,0 +1,57 @@ + + * Copyright (C) 2006 Rodolphe Quiedeville + * Copyright (C) 2007-2017 Regis Houssin + * Copyright (C) 2011 Philippe Grand + * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2018 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 FI8TNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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/md/manifest.json.php + * \brief File for The Web App + */ + +if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); +if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); +if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); +if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); +if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); +if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); +if (! defined('NOLOGIN')) define('NOLOGIN', '1'); +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); + +require_once __DIR__.'/../../main.inc.php'; + +$appli=constant('DOL_APPLICATION_TITLE'); +if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; + +?> +{ + "name": "", + "icons": [ + { + "src": "", + "sizes": "256x256", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index dcc9ce34886..36fb265c42a 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -130,6 +130,7 @@ $colorbacklinebreak = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (emp $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); $colortexttitlenotab = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTTITLENOTAB) ? $colortexttitlenotab : $conf->global->THEME_ELDY_TEXTTITLENOTAB) : (empty($user->conf->THEME_ELDY_TEXTTITLENOTAB) ? $colortexttitlenotab : $user->conf->THEME_ELDY_TEXTTITLENOTAB); $colortexttitle = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTTITLE) ? $colortext : $conf->global->THEME_ELDY_TEXTTITLE) : (empty($user->conf->THEME_ELDY_TEXTTITLE) ? $colortexttitle : $user->conf->THEME_ELDY_TEXTTITLE); +$colortexttitlelink = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTTITLELINK) ? $colortexttitlelink : $conf->global->THEME_ELDY_TEXTTITLELINK) : (empty($user->conf->THEME_ELDY_TEXTTITLELINK) ? $colortexttitlelink : $user->conf->THEME_ELDY_TEXTTITLELINK); $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); $colortextlink = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (empty($conf->global->THEME_ELDY_TEXTLINK) ? $colortext : $conf->global->THEME_ELDY_TEXTLINK) : (empty($user->conf->THEME_ELDY_TEXTLINK) ? $colortextlink : $user->conf->THEME_ELDY_TEXTLINK); $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); @@ -241,6 +242,7 @@ print '*/'."\n"; --colorbacklinepair2: rgb(); --colorbacklinepairhover: rgb(); --colorbacklinepairchecked: rgb(); + --colorbacklinebreak: rgb(); --colorbackbody: rgb(); --colortexttitlenotab: rgb(); --colortexttitle: rgb(); @@ -393,7 +395,7 @@ input.buttongen { input.buttonpayment, button.buttonpayment, div.buttonpayment { min-width: 290px; margin-bottom: 15px; - margin-top: 0; + margin-top: 15px; margin-left: 5px; margin-right: 5px; background-image: none; @@ -566,7 +568,7 @@ div#moretabsList, div#moretabsListaction { hr { border: 0; border-top: 1px solid #ccc; } -.button:not(.bordertransp), .buttonDelete:not(.bordertransp) { +.button:not(.bordertransp):not(.buttonpayment), .buttonDelete:not(.bordertransp):not(.buttonpayment) { 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; @@ -982,7 +984,7 @@ select.flat.selectlimit { max-width: 0; overflow: auto; } -.divintdwithtwolinesmax { +.divintodwithtwolinesmax { width: 75px; display: -webkit-box; -webkit-box-orient: vertical; @@ -1118,9 +1120,11 @@ table[summary="list_of_modules"] .fa-cog { .clearboth { clear:both; } .hideobject { display: none; } .minwidth50 { min-width: 50px; } +.minwidth75 { min-width: 75px; } /* rule for not too small screen only */ @media only screen and (min-width: px) { + .width20 { width: 20px; } .width25 { width: 25px; } .width50 { width: 50px; } .width75 { width: 75px; } @@ -1142,6 +1146,7 @@ table[summary="list_of_modules"] .fa-cog { .minwidth500imp { min-width: 500px !important; } } .widthauto { width: auto; } +.width20 { width: 20px; } .width25 { width: 25px; } .width50 { width: 50px; } .width75 { width: 75px; } @@ -1795,7 +1800,7 @@ img.photorefnoborder { border-bottom: px solid rgb(); } -.trextrafieldseparator td { +.trextrafieldseparator td, .trextrafields_collapse_last td { border-bottom: 1px solid rgb() !important; } .tdhrthin { @@ -3280,10 +3285,10 @@ ul.noborder li:nth-child(odd):not(.liste_titre) { } .impair, .nohover .impair:hover, tr.impair td.nohover { - background: #; + background: var(--colorbacklineimpair1); } #GanttChartDIV { - background-color: #; + background-color: var(--colorbacklineimpair1); } .oddeven, .evenodd, .pair, .nohover .pair:hover, tr.pair td.nohover, .tagtr.oddeven { @@ -3292,25 +3297,26 @@ ul.noborder li:nth-child(odd):not(.liste_titre) { color: #202020; } .pair, .nohover .pair:hover, tr.pair td.nohover { - background-color: #; + background-color: var(--colorbacklinepair1); } + table.dataTable tr.oddeven { - background-color: # !important; + background-color: var(--colorbacklinepair1) !important; } /* For no hover style */ td.oddeven, table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.impair td, table.nohover tr.pair td, tr.nohover td, form.nohover, form.nohover:hover { - background-color: # !important; - background: # !important; + background-color: var(--colorbacklineimpair1) !important; !important; + background: var(--colorbacklineimpair1) !important; !important; } td.evenodd, tr.nohoverpair td, #trlinefordates td { - background-color: # !important; - background: # !important; + background-color: var(--colorbacklinepair1) !important; !important; + background: var(--colorbacklinepair1) !important; !important; } .trforbreak td { font-weight: bold; border-bottom: 1pt solid black !important; - /* background-color: # !important; */ + background-color: var(--colorbacklinebreak) !important; } table.dataTable td { @@ -3398,6 +3404,7 @@ tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste } 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; + color: rgb(); } tr.liste_titre_topborder td { border-top-width: px; diff --git a/htdocs/theme/md/theme_vars.inc.php b/htdocs/theme/md/theme_vars.inc.php index d15444acb6c..ffad2cc66b5 100644 --- a/htdocs/theme/md/theme_vars.inc.php +++ b/htdocs/theme/md/theme_vars.inc.php @@ -61,10 +61,11 @@ $colorbacklinepair1 = '248,248,248'; // line pair $colorbacklinepair2 = '246,246,246'; // line pair $colorbacklinepairhover = '230,237,244'; // line hover $colorbacklinepairchecked = '230,237,244'; // line checked -$colorbacklinebreak = '214,218,220'; +$colorbacklinebreak = '250,246,251'; $colorbackbody = '248,248,248'; $colortexttitlenotab = '80,71,5'; $colortexttitle = '20,20,20'; +$colortexttitlelink = '0,0,120'; $colortext = '0,0,0'; $colortextlink = '0,0,120'; $fontsize = '14'; diff --git a/htdocs/ticket/card.php b/htdocs/ticket/card.php index dbdb15bfedc..6e400b3eeaa 100644 --- a/htdocs/ticket/card.php +++ b/htdocs/ticket/card.php @@ -55,6 +55,17 @@ $action = GETPOST('action', 'aZ09'); $notifyTiers = GETPOST("notify_tiers_at_create", 'alpha'); +$sortfield = GETPOST('sortfield', 'alpha'); +$sortorder = GETPOST('sortorder', 'alpha'); + +if (GETPOST('actioncode', 'array')) { + $actioncode = GETPOST('actioncode', 'array', 3); + if (!count($actioncode)) $actioncode = '0'; +} else { + $actioncode = GETPOST("actioncode", "alpha", 3) ?GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); +} +$search_agenda_label = GETPOST('search_agenda_label'); + // Initialize technical object to manage hooks of ticket. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('ticketcard', 'globalcard')); @@ -116,493 +127,488 @@ $parameters = array(); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); -if ($cancel) -{ - if (!empty($backtopage)) +if (empty($reshook)) { + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers{ { - header("Location: ".$backtopage); - exit; - } - $action = 'view'; -} - -if (GETPOST('add', 'alpha') && $user->rights->ticket->write) { - $error = 0; - - if (!GETPOST("subject", 'alpha')) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Subject")), null, 'errors'); - $action = 'create'; - } elseif (!GETPOST("message", 'alpha')) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Message")), null, 'errors'); - $action = 'create'; + $actioncode = ''; + $search_agenda_label = ''; } - if (!$error) { - $db->begin(); + if ($cancel) { + if (!empty($backtopage)) { + header("Location: " . $backtopage); + exit; + } + $action = 'view'; + } - $object->ref = GETPOST("ref", 'alpha'); - $object->fk_soc = GETPOST("socid", 'int') > 0 ? GETPOST("socid", 'int') : 0; - $object->subject = GETPOST("subject", 'alpha'); - $object->message = GETPOST("message", 'none'); + // Action to add an action (not a message) + if (GETPOST('add', 'alpha') && $user->rights->ticket->write) { + $error = 0; - $object->type_code = GETPOST("type_code", 'alpha'); - $object->category_code = GETPOST("category_code", 'alpha'); - $object->severity_code = GETPOST("severity_code", 'alpha'); - $notifyTiers = GETPOST("notify_tiers_at_create", 'alpha'); - $object->notify_tiers_at_create = empty($notifyTiers) ? 0 : 1; - - $object->fk_project = GETPOST('projectid', 'int'); - - $ret = $extrafields->setOptionalsFromPost(null, $object); - - $id = $object->create($user); - if ($id <= 0) { + if (!GETPOST("subject", 'alpha')) { $error++; - setEventMessage($object->error, $object->errors, 'errors'); + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Subject")), null, 'errors'); + $action = 'create'; + } elseif (!GETPOST("message", 'alpha')) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Message")), null, 'errors'); $action = 'create'; } - if (!$error) - { - // Add contact - $contactid = GETPOST('contactid', 'int'); - $type_contact = GETPOST("type", 'alpha'); + if (!$error) { + $db->begin(); - if ($contactid > 0 && $type_contact) { - $result = $object->add_contact($contactid, GETPOST("type"), 'external'); + $object->ref = GETPOST("ref", 'alpha'); + $object->fk_soc = GETPOST("socid", 'int') > 0 ? GETPOST("socid", 'int') : 0; + $object->subject = GETPOST("subject", 'alpha'); + $object->message = GETPOST("message", 'none'); + + $object->type_code = GETPOST("type_code", 'alpha'); + $object->category_code = GETPOST("category_code", 'alpha'); + $object->severity_code = GETPOST("severity_code", 'alpha'); + $notifyTiers = GETPOST("notify_tiers_at_create", 'alpha'); + $object->notify_tiers_at_create = empty($notifyTiers) ? 0 : 1; + + $object->fk_project = GETPOST('projectid', 'int'); + + $ret = $extrafields->setOptionalsFromPost(null, $object); + + $id = $object->create($user); + if ($id <= 0) { + $error++; + setEventMessage($object->error, $object->errors, 'errors'); + $action = 'create'; } - // altairis: link ticket to project - if (GETPOST('projectid') > 0) { - $object->setProject(GETPOST('projectid')); - } + if (!$error) { + // Add contact + $contactid = GETPOST('contactid', 'int'); + $type_contact = GETPOST("type", 'alpha'); - // Auto assign user - if ($conf->global->TICKET_AUTO_ASSIGN_USER_CREATE) { - $result = $object->assignUser($user, $user->id, 1); - $object->add_contact($user->id, "SUPPORTTEC", 'internal'); - } + if ($contactid > 0 && $type_contact) { + $result = $object->add_contact($contactid, GETPOST("type"), 'external'); + } - // Auto assign contrat - $contractid = 0; - if ($conf->global->TICKET_AUTO_ASSIGN_CONTRACT_CREATE) { - $contrat = new Contrat($db); - $contrat->socid = $object->fk_soc; - $list = $contrat->getListOfContracts(); + // altairis: link ticket to project + if (GETPOST('projectid') > 0) { + $object->setProject(GETPOST('projectid')); + } - if (is_array($list) && !empty($list)) { - if (count($list) == 1) { - $contractid = $list[0]->id; - $object->setContract($contractid); - } else { + // Auto assign user + if ($conf->global->TICKET_AUTO_ASSIGN_USER_CREATE) { + $result = $object->assignUser($user, $user->id, 1); + $object->add_contact($user->id, "SUPPORTTEC", 'internal'); + } + + // Auto assign contrat + $contractid = 0; + if ($conf->global->TICKET_AUTO_ASSIGN_CONTRACT_CREATE) { + $contrat = new Contrat($db); + $contrat->socid = $object->fk_soc; + $list = $contrat->getListOfContracts(); + + if (is_array($list) && !empty($list)) { + if (count($list) == 1) { + $contractid = $list[0]->id; + $object->setContract($contractid); + } else { + } + } + } + + // Auto create fiche intervention + if ($conf->global->TICKET_AUTO_CREATE_FICHINTER_CREATE) { + $fichinter = new Fichinter($db); + $fichinter->socid = $object->fk_soc; + $fichinter->fk_project = GETPOST('projectid', 'int'); + $fichinter->fk_contrat = $contractid; + $fichinter->author = $user->id; + $fichinter->modelpdf = 'soleil'; + $fichinter->origin = $object->element; + $fichinter->origin_id = $object->id; + + // Extrafields + $extrafields->fetch_name_optionals_label($fichinter->table_element); + $array_options = $extrafields->getOptionalsFromPost($fichinter->table_element); + $fichinter->array_options = $array_options; + + $id = $fichinter->create($user); + if ($id <= 0) { + setEventMessages($fichinter->error, null, 'errors'); } } } - // Auto create fiche intervention - if ($conf->global->TICKET_AUTO_CREATE_FICHINTER_CREATE) - { - $fichinter = new Fichinter($db); - $fichinter->socid = $object->fk_soc; - $fichinter->fk_project = GETPOST('projectid', 'int'); - $fichinter->fk_contrat = $contractid; - $fichinter->author = $user->id; - $fichinter->modelpdf = 'soleil'; - $fichinter->origin = $object->element; - $fichinter->origin_id = $object->id; + if (!$error) { + // File transfer + $object->copyFilesForTicket(); + } - // Extrafields - $extrafields->fetch_name_optionals_label($fichinter->table_element); - $array_options = $extrafields->getOptionalsFromPost($fichinter->table_element); - $fichinter->array_options = $array_options; + if (!$error) { + $db->commit(); - $id = $fichinter->create($user); - if ($id <= 0) { - setEventMessages($fichinter->error, null, 'errors'); + if (!empty($backtopage)) { + $url = $backtopage; + } else { + $url = 'card.php?track_id=' . $object->track_id; } - } - } - if (!$error) - { - // File transfer - $object->copyFilesForTicket(); - } - - if (!$error) - { - $db->commit(); - - if (!empty($backtopage)) { - $url = $backtopage; + header("Location: " . $url); + exit; } else { - $url = 'card.php?track_id='.$object->track_id; + $db->rollback(); + setEventMessages($object->error, $object->errors, 'errors'); } - - header("Location: ".$url); - exit; } else { - $db->rollback(); setEventMessages($object->error, $object->errors, 'errors'); } - } else { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == 'edit' && $user->rights->ticket->write) { - $error = 0; - - if ($object->fetch(GETPOST('id', 'int')) < 0) { - $error++; - array_push($object->errors, $langs->trans("ErrorTicketIsNotValid")); - $_GET["action"] = $_POST["action"] = ''; - } -} - -if (GETPOST('update', 'alpha') && GETPOST('id', 'int') && $user->rights->ticket->write) { - $error = 0; - - $ret = $object->fetch(GETPOST('id', 'int')); - if ($ret < 0) { - $error++; - array_push($object->errors, $langs->trans("ErrorTicketIsNotValid")); - $action = ''; - } elseif (!GETPOST("label")) { - $error++; - array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("Label"))); - $action = 'edit'; - } elseif (!GETPOST("subject")) { - $error++; - array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("Subject"))); - $action = 'edit'; } - if (!$error) { - $db->begin(); + if ($action == 'edit' && $user->rights->ticket->write) { + $error = 0; - $object->label = GETPOST("label", 'alphanohtml'); - $object->description = GETPOST("description", 'none'); - - //... - $ret = $object->update($user); - if ($ret <= 0) { + if ($object->fetch(GETPOST('id', 'int')) < 0) { $error++; - setEventMessage($object->error, $object->errors, 'errors'); + array_push($object->errors, $langs->trans("ErrorTicketIsNotValid")); + $_GET["action"] = $_POST["action"] = ''; + } + } + + if (GETPOST('update', 'alpha') && GETPOST('id', 'int') && $user->rights->ticket->write) { + $error = 0; + + $ret = $object->fetch(GETPOST('id', 'int')); + if ($ret < 0) { + $error++; + array_push($object->errors, $langs->trans("ErrorTicketIsNotValid")); + $action = ''; + } elseif (!GETPOST("label")) { + $error++; + array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("Label"))); + $action = 'edit'; + } elseif (!GETPOST("subject")) { + $error++; + array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("Subject"))); $action = 'edit'; } - if (!$error && $ret > 0) { - $db->commit(); - } else { - $db->rollback(); - } - } -} + if (!$error) { + $db->begin(); -// Mark as Read -if ($action == "mark_ticket_read" && $user->rights->ticket->write) { - $object->fetch('', '', GETPOST("track_id", 'alpha')); + $object->label = GETPOST("label", 'alphanohtml'); + $object->description = GETPOST("description", 'none'); - if ($object->markAsRead($user) > 0) - { - setEventMessages($langs->trans('TicketMarkedAsRead'), null, 'mesgs'); + //... + $ret = $object->update($user); + if ($ret <= 0) { + $error++; + setEventMessage($object->error, $object->errors, 'errors'); + $action = 'edit'; + } - header("Location: card.php?track_id=".$object->track_id."&action=view"); - exit; - } else { - setEventMessages($object->error, $object->errors, 'errors'); - } - $action = 'view'; -} - -// Assign to someone -if ($action == "assign_user" && GETPOST('btn_assign_user', 'alpha') && $user->rights->ticket->write) { - $object->fetch('', '', GETPOST("track_id", 'alpha')); - $useroriginassign = $object->fk_user_assign; - $usertoassign = GETPOST('fk_user_assign', 'int'); - - /*if (! ($usertoassign > 0)) { - $error++; - array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("AssignedTo"))); - $action = 'view'; - }*/ - - if (!$error) - { - $ret = $object->assignUser($user, $usertoassign); - if ($ret < 0) $error++; - } - - if (!$error) // Update list of contacts - { - // Si déjà un user assigné on le supprime des contacts - if ($useroriginassign > 0) { - $internal_contacts = $object->listeContact(-1, 'internal'); - - foreach ($internal_contacts as $key => $contact) { - if ($contact['code'] == "SUPPORTTEC" && $contact['id'] == $useroriginassign) { - } - { - //print "user à effacer : ".$useroriginassign; - $object->delete_contact($contact['rowid']); - } + if (!$error && $ret > 0) { + $db->commit(); + } else { + $db->rollback(); } } - - if ($usertoassign > 0) $object->add_contact($usertoassign, "SUPPORTTEC", 'internal', $notrigger = 0); } - if (!$error) - { - // Log action in ticket logs table - $object->fetch_user($usertoassign); - $log_action = $langs->trans('TicketLogAssignedTo', $object->user->getFullName($langs)); + // Mark as Read + if ($action == "mark_ticket_read" && $user->rights->ticket->write) { + $object->fetch('', '', GETPOST("track_id", 'alpha')); - setEventMessages($langs->trans('TicketAssigned'), null, 'mesgs'); + if ($object->markAsRead($user) > 0) { + setEventMessages($langs->trans('TicketMarkedAsRead'), null, 'mesgs'); - header("Location: card.php?track_id=".$object->track_id."&action=view"); - exit; - } else { - array_push($object->errors, $object->error); - } - $action = 'view'; -} - -if ($action == 'add_message' && GETPOSTISSET('btn_add_message') && $user->rights->ticket->read) { - $ret = $object->newMessage($user, $action, (GETPOST('private_message', 'alpha') == "on" ? 1 : 0)); - - if ($ret > 0) { - if (!empty($backtopage)) { - $url = $backtopage; - } else { - $url = 'card.php?action=view&track_id='.$object->track_id; - } - - header("Location: ".$url); - exit; - } else { - setEventMessages($object->error, null, 'errors'); - $action = 'presend'; - } -} - -if ($action == "confirm_close" && GETPOST('confirm', 'alpha') == 'yes' && $user->rights->ticket->write) -{ - $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); - - if ($object->close($user)) { - setEventMessages($langs->trans('TicketMarkedAsClosed'), null, 'mesgs'); - - $url = 'card.php?action=view&track_id='.GETPOST('track_id', 'alpha'); - header("Location: ".$url); - } else { - $action = ''; - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == "confirm_public_close" && GETPOST('confirm', 'alpha') == 'yes') { - $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); - if ($_SESSION['email_customer'] == $object->origin_email || $_SESSION['email_customer'] == $object->thirdparty->email) { - $object->close($user); - - // Log action in ticket logs table - $log_action = $langs->trans('TicketLogClosedBy', $_SESSION['email_customer']); - - setEventMessages('
    '.$langs->trans('TicketMarkedAsClosed').'
    ', null, 'mesgs'); - - $url = 'card.php?action=view_ticket&track_id='.GETPOST('track_id', 'alpha'); - header("Location: ".$url); - } else { - setEventMessages($object->error, $object->errors, 'errors'); - $action = ''; - } -} - -if ($action == 'confirm_delete_ticket' && GETPOST('confirm', 'alpha') == "yes" && $user->rights->ticket->delete) { - if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { - if ($object->delete($user) > 0) { - setEventMessages('
    '.$langs->trans('TicketDeletedSuccess').'
    ', null, 'mesgs'); - Header("Location: ".DOL_URL_ROOT."/ticket/list.php"); + header("Location: card.php?track_id=" . $object->track_id . "&action=view"); exit; } else { - $langs->load("errors"); - $mesg = '
    '.$langs->trans($object->error).'
    '; + setEventMessages($object->error, $object->errors, 'errors'); + } + $action = 'view'; + } + + // Assign to someone + if ($action == "assign_user" && GETPOST('btn_assign_user', 'alpha') && $user->rights->ticket->write) { + $object->fetch('', '', GETPOST("track_id", 'alpha')); + $useroriginassign = $object->fk_user_assign; + $usertoassign = GETPOST('fk_user_assign', 'int'); + + /*if (! ($usertoassign > 0)) { + $error++; + array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("AssignedTo"))); + $action = 'view'; + }*/ + + if (!$error) { + $ret = $object->assignUser($user, $usertoassign); + if ($ret < 0) $error++; + } + + if (!$error) // Update list of contacts + { + // Si déjà un user assigné on le supprime des contacts + if ($useroriginassign > 0) { + $internal_contacts = $object->listeContact(-1, 'internal'); + + foreach ($internal_contacts as $key => $contact) { + if ($contact['code'] == "SUPPORTTEC" && $contact['id'] == $useroriginassign) { + } + { + //print "user à effacer : ".$useroriginassign; + $object->delete_contact($contact['rowid']); + } + } + } + + if ($usertoassign > 0) $object->add_contact($usertoassign, "SUPPORTTEC", 'internal', $notrigger = 0); + } + + if (!$error) { + // Log action in ticket logs table + $object->fetch_user($usertoassign); + $log_action = $langs->trans('TicketLogAssignedTo', $object->user->getFullName($langs)); + + setEventMessages($langs->trans('TicketAssigned'), null, 'mesgs'); + + header("Location: card.php?track_id=" . $object->track_id . "&action=view"); + exit; + } else { + array_push($object->errors, $object->error); + } + $action = 'view'; + } + + // Action to add an action (not a message) + if ($action == 'add_message' && GETPOSTISSET('btn_add_message') && $user->rights->ticket->read) { + $ret = $object->newMessage($user, $action, (GETPOST('private_message', 'alpha') == "on" ? 1 : 0)); + + if ($ret > 0) { + if (!empty($backtopage)) { + $url = $backtopage; + } else { + $url = 'card.php?action=view&track_id=' . $object->track_id; + } + + header("Location: " . $url); + exit; + } else { + setEventMessages($object->error, null, 'errors'); + $action = 'presend'; + } + } + + if ($action == "confirm_close" && GETPOST('confirm', 'alpha') == 'yes' && $user->rights->ticket->write) { + $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); + + if ($object->close($user)) { + setEventMessages($langs->trans('TicketMarkedAsClosed'), null, 'mesgs'); + + $url = 'card.php?action=view&track_id=' . GETPOST('track_id', 'alpha'); + header("Location: " . $url); + } else { + $action = ''; + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == "confirm_public_close" && GETPOST('confirm', 'alpha') == 'yes') { + $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); + if ($_SESSION['email_customer'] == $object->origin_email || $_SESSION['email_customer'] == $object->thirdparty->email) { + $object->close($user); + + // Log action in ticket logs table + $log_action = $langs->trans('TicketLogClosedBy', $_SESSION['email_customer']); + + setEventMessages('
    ' . $langs->trans('TicketMarkedAsClosed') . '
    ', null, 'mesgs'); + + $url = 'card.php?action=view_ticket&track_id=' . GETPOST('track_id', 'alpha'); + header("Location: " . $url); + } else { + setEventMessages($object->error, $object->errors, 'errors'); $action = ''; } } -} -// Set parent company -if ($action == 'set_thirdparty' && $user->rights->societe->creer) { - if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { - $result = $object->setCustomer(GETPOST('editcustomer', 'int')); - $url = 'card.php?action=view&track_id='.GETPOST('track_id', 'alpha'); - header("Location: ".$url); - exit(); - } -} - -if ($action == 'set_progression' && $user->rights->ticket->write) { - if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { - $result = $object->setProgression(GETPOST('progress', 'alpha')); - - $url = 'card.php?action=view&track_id='.$object->track_id; - header("Location: ".$url); - exit(); - } -} - -if ($action == 'setsubject') { - if ($object->fetch(GETPOST('id', 'int'))) { - if ($action == 'setsubject') { - $object->subject = trim(GETPOST('subject', 'alpha')); - } - - if ($action == 'setsubject' && empty($object->subject)) { - $mesg .= ($mesg ? '
    ' : '').$langs->trans("ErrorFieldRequired", $langs->transnoentities("Subject")); - } - - if (!$mesg) { - if ($object->update($user) >= 0) { - header("Location: ".$_SERVER['PHP_SELF']."?track_id=".$object->track_id); + if ($action == 'confirm_delete_ticket' && GETPOST('confirm', 'alpha') == "yes" && $user->rights->ticket->delete) { + if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { + if ($object->delete($user) > 0) { + setEventMessages('
    ' . $langs->trans('TicketDeletedSuccess') . '
    ', null, 'mesgs'); + Header("Location: " . DOL_URL_ROOT . "/ticket/list.php"); exit; + } else { + $langs->load("errors"); + $mesg = '
    ' . $langs->trans($object->error) . '
    '; + $action = ''; } - $mesg = $object->error; } } -} -if ($action == 'confirm_reopen' && $user->rights->ticket->manage && !GETPOST('cancel')) { - if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { - // prevent browser refresh from reopening ticket several times - if ($object->fk_statut == Ticket::STATUS_CLOSED) { - $res = $object->setStatut(Ticket::STATUS_ASSIGNED); + // Set parent company + if ($action == 'set_thirdparty' && $user->rights->societe->creer) { + if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { + $result = $object->setCustomer(GETPOST('editcustomer', 'int')); + $url = 'card.php?action=view&track_id=' . GETPOST('track_id', 'alpha'); + header("Location: " . $url); + exit(); + } + } + + if ($action == 'set_progression' && $user->rights->ticket->write) { + if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { + $result = $object->setProgression(GETPOST('progress', 'alpha')); + + $url = 'card.php?action=view&track_id=' . $object->track_id; + header("Location: " . $url); + exit(); + } + } + + if ($action == 'setsubject') { + if ($object->fetch(GETPOST('id', 'int'))) { + if ($action == 'setsubject') { + $object->subject = trim(GETPOST('subject', 'alpha')); + } + + if ($action == 'setsubject' && empty($object->subject)) { + $mesg .= ($mesg ? '
    ' : '') . $langs->trans("ErrorFieldRequired", $langs->transnoentities("Subject")); + } + + if (!$mesg) { + if ($object->update($user) >= 0) { + header("Location: " . $_SERVER['PHP_SELF'] . "?track_id=" . $object->track_id); + exit; + } + $mesg = $object->error; + } + } + } + + if ($action == 'confirm_reopen' && $user->rights->ticket->manage && !GETPOST('cancel')) { + if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { + // prevent browser refresh from reopening ticket several times + if ($object->fk_statut == Ticket::STATUS_CLOSED) { + $res = $object->setStatut(Ticket::STATUS_ASSIGNED); + if ($res) { + // Log action in ticket logs table + $log_action = $langs->trans('TicketLogReopen'); + + $url = 'card.php?action=view&track_id=' . $object->track_id; + header("Location: " . $url); + exit(); + } + } + } + } // Categorisation dans projet + elseif ($action == 'classin' && $user->rights->ticket->write) { + if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { + $object->setProject(GETPOST('projectid', 'int')); + $url = 'card.php?action=view&track_id=' . $object->track_id; + header("Location: " . $url); + exit(); + } + } // Categorisation dans contrat + elseif ($action == 'setcontract' && $user->rights->ticket->write) { + if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { + $object->setContract(GETPOST('contractid', 'int')); + $url = 'card.php?action=view&track_id=' . $object->track_id; + header("Location: " . $url); + exit(); + } + } elseif ($action == "set_message" && $user->rights->ticket->manage) { + // altairis: manage cancel button + if (!GETPOST('cancel')) { + $object->fetch('', '', GETPOST('track_id', 'alpha')); + $oldvalue_message = $object->message; + $fieldtomodify = GETPOST('message_initial'); + + $object->message = $fieldtomodify; + $ret = $object->update($user); + if ($ret > 0) { + $log_action = $langs->trans('TicketInitialMessageModified') . " \n"; + // include the Diff class + dol_include_once('/ticket/class/utils_diff.class.php'); + // output the result of comparing two files as plain text + $log_action .= Diff::toString(Diff::compare(strip_tags($oldvalue_message), strip_tags($object->message))); + + setEventMessages($langs->trans('TicketMessageSuccesfullyUpdated'), null, 'mesgs'); + } + } + + $action = 'view'; + } // Reopen ticket + elseif ($action == 'confirm_set_status' && $user->rights->ticket->write && !GETPOST('cancel')) { + if ($object->fetch(GETPOST('id', 'int'), GETPOST('track_id', 'alpha')) >= 0) { + $new_status = GETPOST('new_status', 'int'); + $old_status = $object->fk_statut; + $res = $object->setStatut($new_status); if ($res) { // Log action in ticket logs table - $log_action = $langs->trans('TicketLogReopen'); + $log_action = $langs->trans('TicketLogStatusChanged', $langs->transnoentities($object->statuts_short[$old_status]), $langs->transnoentities($object->statuts_short[$new_status])); - $url = 'card.php?action=view&track_id='.$object->track_id; - header("Location: ".$url); + $url = 'card.php?action=view&track_id=' . $object->track_id; + header("Location: " . $url); exit(); } } } -} // Categorisation dans projet -elseif ($action == 'classin' && $user->rights->ticket->write) { - if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { - $object->setProject(GETPOST('projectid', 'int')); - $url = 'card.php?action=view&track_id='.$object->track_id; - header("Location: ".$url); - exit(); - } -} // Categorisation dans contrat -elseif ($action == 'setcontract' && $user->rights->ticket->write) { - if ($object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')) >= 0) { - $object->setContract(GETPOST('contractid', 'int')); - $url = 'card.php?action=view&track_id='.$object->track_id; - header("Location: ".$url); - exit(); - } -} elseif ($action == "set_message" && $user->rights->ticket->manage) { - // altairis: manage cancel button - if (!GETPOST('cancel')) { - $object->fetch('', '', GETPOST('track_id', 'alpha')); - $oldvalue_message = $object->message; - $fieldtomodify = GETPOST('message_initial'); - $object->message = $fieldtomodify; + // Action to update one extrafield + if ($action == "update_extras" && !empty($permissiontoadd)) { + $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); + $attributekey = GETPOST('attribute', 'alpha'); + $attributekeylong = 'options_' . $attributekey; + $object->array_options['options_' . $attributekey] = GETPOST($attributekeylong, ' alpha'); + + $result = $object->insertExtraFields(empty($triggermodname) ? '' : $triggermodname, $user); + if ($result > 0) { + setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); + $action = 'view'; + } else { + setEventMessages($object->error, $object->errors, 'errors'); + $action = 'edit_extras'; + } + } + + if ($action == "change_property" && GETPOST('btn_update_ticket_prop', 'alpha') && $user->rights->ticket->write) { + $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); + + $object->type_code = GETPOST('update_value_type', 'aZ09'); + $object->severity_code = GETPOST('update_value_severity', 'aZ09'); + $object->category_code = GETPOST('update_value_category', 'aZ09'); + $ret = $object->update($user); if ($ret > 0) { - $log_action = $langs->trans('TicketInitialMessageModified')." \n"; - // include the Diff class - dol_include_once('/ticket/class/utils_diff.class.php'); - // output the result of comparing two files as plain text - $log_action .= Diff::toString(Diff::compare(strip_tags($oldvalue_message), strip_tags($object->message))); + $log_action = $langs->trans('TicketLogPropertyChanged', $oldvalue_label, $newvalue_label); - setEventMessages($langs->trans('TicketMessageSuccesfullyUpdated'), null, 'mesgs'); + setEventMessages($langs->trans('TicketUpdated'), null, 'mesgs'); } - } - - $action = 'view'; -} // Reopen ticket -elseif ($action == 'confirm_set_status' && $user->rights->ticket->write && !GETPOST('cancel')) { - if ($object->fetch(GETPOST('id', 'int'), GETPOST('track_id', 'alpha')) >= 0) { - $new_status = GETPOST('new_status', 'int'); - $old_status = $object->fk_statut; - $res = $object->setStatut($new_status); - if ($res) { - // Log action in ticket logs table - $log_action = $langs->trans('TicketLogStatusChanged', $langs->transnoentities($object->statuts_short[$old_status]), $langs->transnoentities($object->statuts_short[$new_status])); - - $url = 'card.php?action=view&track_id='.$object->track_id; - header("Location: ".$url); - exit(); - } - } -} - -// Action to update one extrafield -if ($action == "update_extras" && !empty($permissiontoadd)) -{ - $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); - $attributekey = GETPOST('attribute', 'alpha'); - $attributekeylong = 'options_'.$attributekey; - $object->array_options['options_'.$attributekey] = GETPOST($attributekeylong, ' alpha'); - - $result = $object->insertExtraFields(empty($triggermodname) ? '' : $triggermodname, $user); - if ($result > 0) - { - setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); $action = 'view'; } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - $action = 'edit_extras'; - } + + + $permissiondellink = $user->rights->ticket->write; + include DOL_DOCUMENT_ROOT . '/core/actions_dellink.inc.php'; // Must be include, not include_once + + // Actions to build doc + $upload_dir = $conf->ticket->dir_output; + $permissiontoadd = $user->rights->ticket->write; + include DOL_DOCUMENT_ROOT . '/core/actions_builddoc.inc.php'; + + // Actions to send emails + $triggersendname = 'TICKET_SENTBYMAIL'; + $paramname = 'id'; + $autocopy = 'MAIN_MAIL_AUTOCOPY_TICKET_TO'; // used to know the automatic BCC to add + $trackid = 'tic' . $object->id; + include DOL_DOCUMENT_ROOT . '/core/actions_sendmails.inc.php'; + + // Set $action to correct value for the case we used presend action to add a message + if (GETPOSTISSET('actionbis') && $action == 'presend') $action = 'presend_addmessage'; } -if ($action == "change_property" && GETPOST('btn_update_ticket_prop', 'alpha') && $user->rights->ticket->write) -{ - $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); - - $object->type_code = GETPOST('update_value_type', 'aZ09'); - $object->severity_code = GETPOST('update_value_severity', 'aZ09'); - $object->category_code = GETPOST('update_value_category', 'aZ09'); - - $ret = $object->update($user); - if ($ret > 0) { - $log_action = $langs->trans('TicketLogPropertyChanged', $oldvalue_label, $newvalue_label); - - setEventMessages($langs->trans('TicketUpdated'), null, 'mesgs'); - } - $action = 'view'; -} - - -$permissiondellink = $user->rights->ticket->write; -include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once - -// Actions to build doc -$upload_dir = $conf->ticket->dir_output; -$permissiontoadd = $user->rights->ticket->write; -include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; - -// Actions to send emails -$triggersendname = 'TICKET_SENTBYMAIL'; -$paramname = 'id'; -$autocopy = 'MAIN_MAIL_AUTOCOPY_TICKET_TO'; // used to know the automatic BCC to add -$trackid = 'tic'.$object->id; -include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php'; - -// Set $action to correct value for the case we used presend action to add a message -if (GETPOSTISSET('actionbis') && $action == 'presend') $action = 'presend_addmessage'; - - /* * View */ @@ -856,7 +862,7 @@ if (empty($action) || $action == 'view' || $action == 'addlink' || $action == 'd // Creation date print '
    '.$langs->trans("DateCreation").''; print dol_print_date($object->datec, 'dayhour'); - print ' - '.$langs->trans("TimeElapsedSince").': '.''.convertSecondToTime(roundUpToNextMultiple($now - $object->datec, 60)).''; + print ' - '.$langs->trans("TimeElapsedSince").': '.convertSecondToTime(roundUpToNextMultiple($now - $object->datec, 60)).''; print '
    '; - print dol_print_date($arraymsgs['datec'], 'dayhour'); + print img_picto('', 'object_action', 'class="paddingright"').dol_print_date($arraymsgs['datec'], 'dayhour'); print ''; @@ -379,8 +380,7 @@ class ActionsTicket global $langs; print '
    '; - print '
    '; - print '
    '; + print '
    '; // Exclude status which requires specific method $exclude_status = array(Ticket::STATUS_CLOSED, Ticket::STATUS_CANCELED); // Exclude actual status @@ -391,7 +391,7 @@ class ActionsTicket foreach ($object->statuts_short as $status => $status_label) { if (!in_array($status, $exclude_status)) { - print '
    '; + print '
    '; if ($status == 1) { @@ -402,13 +402,13 @@ class ActionsTicket $urlforbutton = $_SERVER['PHP_SELF'].'?track_id='.$object->track_id.'&action=set_status&new_status='.$status; } - print ''; + print ''; print img_picto($langs->trans($object->statuts_short[$status]), 'statut'.$status.'.png@ticket').' '.$langs->trans($object->statuts_short[$status]); print ''; print '
    '; } } - print '

    '; + print '

    '; } /** diff --git a/htdocs/ticket/class/ticket.class.php b/htdocs/ticket/class/ticket.class.php index 4ce5948f0b3..4db98cfe7ad 100644 --- a/htdocs/ticket/class/ticket.class.php +++ b/htdocs/ticket/class/ticket.class.php @@ -408,11 +408,9 @@ class Ticket extends CommonObject //Update extrafield if (!$error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { // For avoid conflicts if trigger used - $result = $this->insertExtraFields(); - if ($result < 0) { - $error++; - } + $result = $this->insertExtraFields(); + if ($result < 0) { + $error++; } } @@ -838,11 +836,9 @@ class Ticket extends CommonObject if (!$error) { // Update extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) { // For avoid conflicts if trigger used - $result = $this->insertExtraFields(); - if ($result < 0) { - $error++; - } + $result = $this->insertExtraFields(); + if ($result < 0) { + $error++; } } @@ -1181,116 +1177,41 @@ class Ticket extends CommonObject // phpcs:enable global $langs; - if ($mode == 0) { - return $langs->trans($this->statuts[$status]); + $labelStatus = $this->statuts[$status]; + $labelStatusShort = $this->statuts_short[$status]; + + if ($status == self::STATUS_NOT_READ) { + $statusType = 'status0'; } - elseif ($mode == 1) { - return $langs->trans($this->statuts_short[$status]); + elseif ($status == self::STATUS_READ) { + $statusType = 'status1'; } - elseif ($mode == 2) { - if ($status == self::STATUS_NOT_READ) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut0.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_READ) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut1.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_ASSIGNED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut2.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_IN_PROGRESS) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut3.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_NEED_MORE_INFO) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut5.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_WAITING) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut6.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_CLOSED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut8.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_CANCELED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut9.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } + elseif ($status == self::STATUS_ASSIGNED) { + $statusType = 'status3'; } - elseif ($mode == 3) { - if ($status == self::STATUS_NOT_READ) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut0.png@ticket'); - } - elseif ($status == self::STATUS_READ) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut1.png@ticket'); - } - elseif ($status == self::STATUS_ASSIGNED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut2.png@ticket'); - } - elseif ($status == self::STATUS_IN_PROGRESS) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut3.png@ticket'); - } - elseif ($status == self::STATUS_NEED_MORE_INFO) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut5.png@ticket'); - } - elseif ($status == self::STATUS_WAITING) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut6.png@ticket'); - } - elseif ($status == self::STATUS_CLOSED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut8.png@ticket'); - } - elseif ($status == self::STATUS_CANCELED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut9.png@ticket'); - } + elseif ($status == self::STATUS_IN_PROGRESS) { + $statusType = 'status4'; } - elseif ($mode == 4) { - if ($status == self::STATUS_NOT_READ) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut0.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_READ) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut1.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_ASSIGNED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut2.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_IN_PROGRESS) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut3.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_NEED_MORE_INFO) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut5.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_WAITING) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut6.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_CLOSED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut8.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } - elseif ($status == self::STATUS_CANCELED) { - return img_picto($langs->trans($this->statuts_short[$status]), 'statut9.png@ticket').' '.$langs->trans($this->statuts_short[$status]); - } + elseif ($status == self::STATUS_WAITING) { + $statusType = 'status3'; } - elseif ($mode == 5 || $mode == 6) { - if ($status == self::STATUS_NOT_READ) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut0.png@ticket'); - } - elseif ($status == self::STATUS_READ) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut1.png@ticket'); - } - elseif ($status == self::STATUS_ASSIGNED) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut2.png@ticket'); - } - elseif ($status == self::STATUS_IN_PROGRESS) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut3.png@ticket'); - } - elseif ($status == self::STATUS_NEED_MORE_INFO) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut5.png@ticket'); - } - elseif ($status == self::STATUS_WAITING) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut6.png@ticket'); - } - elseif ($status == self::STATUS_CLOSED) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut8.png@ticket'); - } - elseif ($status == self::STATUS_CANCELED) { - return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]), 'statut9.png@ticket'); - } + elseif ($status == self::STATUS_NEED_MORE_INFO) { + $statusType = 'status9'; } + elseif ($status == self::STATUS_CANCELED) { + $statusType = 'status9'; + } + elseif ($status == self::STATUS_CLOSED) { + $statusType = 'status6'; + } + else { + $labelStatus = $langs->trans('Unknown'); + $labelStatusShort = $langs->trans('Unknown'); + $statusType = 'status0'; + $mode = 0; + } + + return dolGetStatus($langs->trans($labelStatus), $langs->trans($labelStatusShort), '', $statusType, $mode); } @@ -1520,10 +1441,10 @@ class Ticket extends CommonObject if ($info_sendto['source'] == 'internal') { $url_internal_ticket = dol_buildpath('/ticket/card.php', 2).'?track_id='.$this->track_id; - $message .= "\n".$langs->transnoentities('TicketNotificationEmailBodyInfosTrackUrlinternal').' : '.''.$this->track_id.''."\n"; + $message .= "\n".$langs->transnoentities('TicketNotificationEmailBodyInfosTrackUrlinternal').' : '.$this->track_id.''."\n"; } else { $url_public_ticket = ($conf->global->TICKET_URL_PUBLIC_INTERFACE ? $conf->global->TICKET_URL_PUBLIC_INTERFACE.'/' : dol_buildpath('/public/ticket/view.php', 2)).'?track_id='.$this->track_id; - $message .= "\n".$langs->transnoentities('TicketNewEmailBodyInfosTrackUrlCustomer').' : '.''.$this->track_id.''."\n"; + $message .= "\n".$langs->transnoentities('TicketNewEmailBodyInfosTrackUrlCustomer').' : '.$this->track_id.''."\n"; } $message .= "\n"; @@ -1638,7 +1559,7 @@ class Ticket extends CommonObject // Insert entry into agenda with code 'TICKET_MSG' include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; $actioncomm = new ActionComm($this->db); - $actioncomm->type_code = 'AC_OTH_AUTO'; + $actioncomm->type_code = 'AC_OTH'; $actioncomm->code = 'TICKET_MSG'; if ($this->private) { $actioncomm->code = 'TICKET_MSG_PRIVATE'; @@ -2589,7 +2510,7 @@ class Ticket extends CommonObject $url_internal_ticket = dol_buildpath('/ticket/card.php', 2).'?track_id='.$object->track_id; // altairis: make html link on url - $message .= "\n".$langs->trans('TicketNotificationEmailBodyInfosTrackUrlinternal').' : '.''.$object->track_id.''."\n"; + $message .= "\n".$langs->trans('TicketNotificationEmailBodyInfosTrackUrlinternal').' : '.$object->track_id.''."\n"; // Add global email address recipient if ($conf->global->TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS && !in_array($conf->global->TICKET_NOTIFICATION_EMAIL_TO, $sendto)) { @@ -2651,7 +2572,7 @@ class Ticket extends CommonObject // If public interface is not enable, use link to internal page into mail $url_public_ticket = (!empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE) ? (!empty($conf->global->TICKET_URL_PUBLIC_INTERFACE) ? $conf->global->TICKET_URL_PUBLIC_INTERFACE.'/view.php' : dol_buildpath('/public/ticket/view.php', 2)) : dol_buildpath('/ticket/card.php', 2)).'?track_id='.$object->track_id; - $message .= "\n".$langs->trans('TicketNewEmailBodyInfosTrackUrlCustomer').' : '.''.$object->track_id.''."\n"; + $message .= "\n".$langs->trans('TicketNewEmailBodyInfosTrackUrlCustomer').' : '.$object->track_id.''."\n"; // Build final message $message = $message_intro.$message; @@ -2808,7 +2729,7 @@ class Ticket extends CommonObject $clause = " AND"; } $sql .= $clause." p.entity IN (".getEntity('ticket').")"; - if ($mode == 'opened') $sql .= " AND p.fk_statut in (".Ticket::STATUS_CLOSED.", ".Ticket::STATUS_CANCELED.")"; + if ($mode == 'opened') $sql .= " AND p.fk_statut NOT IN (".Ticket::STATUS_CLOSED.", ".Ticket::STATUS_CANCELED.")"; if ($user->socid) $sql .= " AND p.fk_soc = ".$user->socid; $resql = $this->db->query($sql); diff --git a/htdocs/ticket/class/utils_diff.class.php b/htdocs/ticket/class/utils_diff.class.php index 03dff5506b4..84075d395ab 100644 --- a/htdocs/ticket/class/utils_diff.class.php +++ b/htdocs/ticket/class/utils_diff.class.php @@ -20,24 +20,21 @@ class Diff const DELETED = 1; const INSERTED = 2; - /* Returns the diff for two strings. The return value is an array, each of + /** + * Returns the diff for two strings. The return value is an array, each of * whose values is an array containing two values: a line (or character, if * $compareCharacters is true), and one of the constants DIFF::UNMODIFIED (the * line or character is in both strings), DIFF::DELETED (the line or character * is only in the first string), and DIFF::INSERTED (the line or character is * only in the second string). The parameters are: * - * $string1 - the first string - * $string2 - the second string - * $compareCharacters - true to compare characters, and false to compare - * lines; this optional parameter defaults to false + * @param string $string1 First string + * @param string $string2 Second string + * @param string $compareCharacters true to compare characters, and false to compare lines; this optional parameter defaults to false + * @return array Array of diff */ - public static function compare( - $string1, - $string2, - $compareCharacters = false - ) { - + public static function compare($string1, $string2, $compareCharacters = false) + { // initialise the sequences and comparison start and end positions $start = 0; if ($compareCharacters) { @@ -90,12 +87,13 @@ class Diff return $diff; } - /* Returns the diff for two files. The parameters are: + /** + * Returns the diff for two files. The parameters are: * - * $file1 - the path to the first file - * $file2 - the path to the second file - * $compareCharacters - true to compare characters, and false to compare - * lines; this optional parameter defaults to false + * @param string $file1 Path to the first file + * @param string $file2 Path to the second file + * @param boolean $compareCharacters true to compare characters, and false to compare lines; this optional parameter defaults to false + * @return array Array of diff */ public static function compareFiles( $file1, @@ -111,23 +109,18 @@ class Diff ); } - /* Returns the table of longest common subsequence lengths for the specified - * sequences. The parameters are: + /** + * Returns the table of longest common subsequence lengths for the specified sequences. The parameters are: * - * $sequence1 - the first sequence - * $sequence2 - the second sequence - * $start - the starting index - * $end1 - the ending index for the first sequence - * $end2 - the ending index for the second sequence + * @param string $sequence1 the first sequence + * @param string $sequence2 the second sequence + * @param string $start the starting index + * @param string $end1 the ending index for the first sequence + * @param string $end2 the ending index for the second sequence + * @return array array of diff */ - private static function computeTable( - $sequence1, - $sequence2, - $start, - $end1, - $end2 - ) { - + private static function computeTable($sequence1, $sequence2, $start, $end1, $end2) + { // determine the lengths to be compared $length1 = $end1 - $start + 1; $length2 = $end2 - $start + 1; @@ -156,21 +149,18 @@ class Diff return $table; } - /* Returns the partial diff for the specificed sequences, in reverse order. - * The parameters are: + /** + * Returns the partial diff for the specificed sequences, in reverse order. + * The parameters are: * - * $table - the table returned by the computeTable function - * $sequence1 - the first sequence - * $sequence2 - the second sequence - * $start - the starting index + * @param string $table the table returned by the computeTable function + * @param string $sequence1 the first sequence + * @param string $sequence2 the second sequence + * @param string $start the starting index + * @return array array of diff */ - private static function generatePartialDiff( - $table, - $sequence1, - $sequence2, - $start - ) { - + private static function generatePartialDiff($table, $sequence1, $sequence2, $start) + { // initialise the diff $diff = array(); @@ -205,17 +195,17 @@ class Diff return $diff; } - /* Returns a diff as a string, where unmodified lines are prefixed by ' ', + /** + * Returns a diff as a string, where unmodified lines are prefixed by ' ', * deletions are prefixed by '- ', and insertions are prefixed by '+ '. The * parameters are: * - * $diff - the diff array - * $separator - the separator between lines; this optional parameter defaults - * to "\n" + * @param array $diff the diff array + * @param string $separator the separator between lines; this optional parameter defaults to "\n" + * @return string String */ public static function toString($diff, $separator = "\n") { - // initialise the string $string = ''; @@ -242,17 +232,17 @@ class Diff return $string; } - /* Returns a diff as an HTML string, where unmodified lines are contained + /** + * Returns a diff as an HTML string, where unmodified lines are contained * within 'span' elements, deletions are contained within 'del' elements, and * insertions are contained within 'ins' elements. The parameters are: * - * $diff - the diff array - * $separator - the separator between lines; this optional parameter defaults - * to '
    ' + * @param string $diff the diff array + * @param string $separator the separator between lines; this optional parameter defaults to '
    ' + * @return string HTML string */ public static function toHTML($diff, $separator = '
    ') { - // initialise the HTML $html = ''; @@ -283,17 +273,16 @@ class Diff return $html; } - /* Returns a diff as an HTML table. The parameters are: + /** + * Returns a diff as an HTML table. The parameters are: * - * $diff - the diff array - * $indentation - indentation to add to every line of the generated HTML; this - * optional parameter defaults to '' - * $separator - the separator between lines; this optional parameter - * defaults to '
    ' + * @param string $diff the diff array + * @param string $indentation indentation to add to every line of the generated HTML; this optional parameter defaults to '' + * @param string $separator the separator between lines; this optional parameter defaults to '
    ' + * @return string HTML string */ public static function toTable($diff, $indentation = '', $separator = '
    ') { - // initialise the HTML $html = $indentation."\n"; @@ -373,14 +362,16 @@ class Diff return $html.$indentation."
    \n"; } - /* Returns the content of the cell, for use in the toTable function. The + /** + * Returns the content of the cell, for use in the toTable function. The * parameters are: * - * $diff - the diff array - * $indentation - indentation to add to every line of the generated HTML - * $separator - the separator between lines - * $index - the current index, passes by reference - * $type - the type of line + * @param string $diff the diff array + * @param string $indentation indentation to add to every line of the generated HTML + * @param string $separator the separator between lines + * @param string $index the current index, passes by reference + * @param string $type the type of line + * @return string HTML string */ private static function getCellContent($diff, $indentation, $separator, &$index, $type) { diff --git a/htdocs/ticket/document.php b/htdocs/ticket/document.php index ce5326b81e5..d48001a680e 100644 --- a/htdocs/ticket/document.php +++ b/htdocs/ticket/document.php @@ -48,11 +48,12 @@ if (!$user->rights->ticket->read) { } // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/ticket/index.php b/htdocs/ticket/index.php index 86929157d25..cfd8e3f26f3 100644 --- a/htdocs/ticket/index.php +++ b/htdocs/ticket/index.php @@ -181,15 +181,27 @@ if ($result) { } } + include_once DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/theme_vars.inc.php'; + $dataseries = array(); + $colorseries = array(); + $dataseries[] = array('label' => $langs->trans("Unread"), 'data' => round($tick['unread'])); + $colorseries[Ticket::STATUS_NOT_READ] = '-'.$badgeStatus0; $dataseries[] = array('label' => $langs->trans("Read"), 'data' => round($tick['read'])); - $dataseries[] = array('label' => $langs->trans("NeedMoreInformation"), 'data' => round($tick['needmoreinfo'])); + $colorseries[Ticket::STATUS_READ] = $badgeStatus1; $dataseries[] = array('label' => $langs->trans("Assigned"), 'data' => round($tick['assigned'])); + $colorseries[Ticket::STATUS_ASSIGNED] = $badgeStatus3; $dataseries[] = array('label' => $langs->trans("InProgress"), 'data' => round($tick['inprogress'])); - $dataseries[] = array('label' => $langs->trans("Waiting"), 'data' => round($tick['waiting'])); - $dataseries[] = array('label' => $langs->trans("Closed"), 'data' => round($tick['closed'])); + $colorseries[Ticket::STATUS_IN_PROGRESS] = $badgeStatus4; + $dataseries[] = array('label' => $langs->trans("Suspended"), 'data' => round($tick['waiting'])); + $colorseries[Ticket::STATUS_WAITING] = '-'.$badgeStatus3; + $dataseries[] = array('label' => $langs->trans("NeedMoreInformation"), 'data' => round($tick['needmoreinfo'])); + $colorseries[Ticket::STATUS_NEED_MORE_INFO] = $badgeStatus9; $dataseries[] = array('label' => $langs->trans("Canceled"), 'data' => round($tick['canceled'])); + $colorseries[Ticket::STATUS_CANCELED] = $badgeStatus9; + $dataseries[] = array('label' => $langs->trans("Closed"), 'data' => round($tick['closed'])); + $colorseries[Ticket::STATUS_CLOSED] = $badgeStatus6; } else { dol_print_error($db); } @@ -233,6 +245,8 @@ if (!empty($dataseries) && count($dataseries) > 1) { $mesg = $px1->isGraphKo(); if (!$mesg) { $px1->SetData($data); + $px1->SetDataColor(array_values($colorseries)); + unset($data1); $i = $startyear; $legend = array(); diff --git a/htdocs/ticket/list.php b/htdocs/ticket/list.php index 078b8fc6d53..1331e2be12e 100644 --- a/htdocs/ticket/list.php +++ b/htdocs/ticket/list.php @@ -679,7 +679,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column diff --git a/htdocs/user/card.php b/htdocs/user/card.php index a1675771bee..cd115dbe292 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -481,17 +481,22 @@ if (empty($reshook)) { if (!$error && GETPOSTISSET('contactid')) { $contactid = GETPOST('contactid', 'int'); + $socid = GETPOST('socid', 'int'); - if ($contactid > 0) { + if ($contactid > 0) { // The 'contactid' is used inpriority over the 'socid' $contact = new Contact($db); $contact->fetch($contactid); $sql = "UPDATE ".MAIN_DB_PREFIX."user"; - $sql .= " SET fk_socpeople=".$db->escape($contactid); + $sql .= " SET fk_socpeople=".((int) $contactid); if (!empty($contact->socid)) { - $sql .= ", fk_soc=".$db->escape($contact->socid); + $sql .= ", fk_soc=".((int) $contact->socid); } $sql .= " WHERE rowid=".$object->id; + } elseif ($socid > 0) { + $sql = "UPDATE ".MAIN_DB_PREFIX."user"; + $sql .= " SET fk_socpeople=NULL, fk_soc=".((int) $socid); + $sql .= " WHERE rowid=".$object->id; } else { $sql = "UPDATE ".MAIN_DB_PREFIX."user"; $sql .= " SET fk_socpeople=NULL, fk_soc=NULL"; @@ -1618,7 +1623,9 @@ else // Hierarchy print '
    '.$langs->trans("HierarchicalResponsible").''; - if (empty($object->fk_user)) print $langs->trans("None"); + if (empty($object->fk_user)) { + print ''.$langs->trans("None").''; + } else { $huser = new User($db); $huser->fetch($object->fk_user); @@ -1829,7 +1836,7 @@ else $contact->fetch($object->contactid); if ($object->socid > 0) print ' / '; else print '
    '; - print ''.img_object($langs->trans("ShowContact"), 'contact').' '.dol_trunc($contact->getFullName($langs), 32).''; + print $contact->getNomUrl(1, ''); } print '
    '; if ($caneditgroup) { - print ''.img_object($langs->trans("ShowGroup"), "group").' '.$group->name.''; + print $group->getNomUrl(1); } else { @@ -2085,7 +2092,7 @@ else } /* - * Fiche en mode edition + * Card in edit mode */ if ($action == 'edit' && ($canedituser || $caneditfield || $caneditpassword || ($user->id == $object->id))) { @@ -2285,6 +2292,7 @@ else print ''; if ($user->id == $object->id || !$user->admin) { + // Read mode $type = $langs->trans("Internal"); if ($object->socid) $type = $langs->trans("External"); print $form->textwithpicto($type, $langs->trans("InternalExternalDesc")); @@ -2292,10 +2300,22 @@ else } else { + // Select mode $type = 0; if ($object->contactid) $type = $object->contactid; - print $form->selectcontacts(0, $type, 'contactid', 2, '', '', 1, '', false, 1); - if ($object->ldap_sid) print ' ('.$langs->trans("DomainUser").')'; + + if ($object->socid > 0 && ! ($object->contactid > 0)) { // external user but no link to a contact + print img_picto('', 'company').$form->select_company($object->socid, 'socid', '', ' '); + print img_picto('', 'contact').$form->selectcontacts(0, 0, 'contactid', 1, '', '', 1, '', false, 1); + if ($object->ldap_sid) print ' ('.$langs->trans("DomainUser").')'; + } elseif ($object->socid > 0 && $object->contactid > 0) { // external user with a link to a contact + print img_picto('', 'company').$form->select_company(0, 'socid', '', ' '); // We keep thirdparty empty, contact is already set + print img_picto('', 'contact').$form->selectcontacts(0, $object->contactid, 'contactid', 1, '', '', 1, '', false, 1); + if ($object->ldap_sid) print ' ('.$langs->trans("DomainUser").')'; + } else { // $object->socid is not > 0 here + print img_picto('', 'company').$form->select_company(0, 'socid', '', ' '); // We keep thirdparty empty, contact is already set + print img_picto('', 'contact').$form->selectcontacts(0, 0, 'contactid', 1, '', '', 1, '', false, 1); + } } print '
    '."\n"; print '
    '; @@ -456,6 +456,7 @@ else /* * Group members */ + print ''; print ''; print ''; diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php index 8efd7ef38e2..70030dbf1af 100644 --- a/htdocs/user/group/perms.php +++ b/htdocs/user/group/perms.php @@ -77,7 +77,7 @@ if (empty($reshook)) { $editgroup = new Usergroup($db); $result = $editgroup->fetch($id); if ($result > 0) { - $result= $editgroup->addrights($rights, $module, '', $entity); + $result = $editgroup->addrights($rights, $module, '', $entity); if ($result < 0) { setEventMessages($editgroup->error, $editgroup->errors, 'errors'); } diff --git a/htdocs/user/hierarchy.php b/htdocs/user/hierarchy.php index cd93d6106e7..3a05bb3d640 100644 --- a/htdocs/user/hierarchy.php +++ b/htdocs/user/hierarchy.php @@ -153,7 +153,7 @@ else $morehtmlright .= dolGetButtonTitle($langs->trans('ViewList'), '', 'fa fa-list paddingleft', DOL_URL_ROOT.'/user/list.php'.(($search_statut != '' && $search_statut >= 0) ? '?search_statut='.$search_statut : '')); - print load_fiche_titre($title, $morehtmlright.' '.$newcardbutton); + print load_fiche_titre($title, $morehtmlright.' '.$newcardbutton, 'user'); print ''."\n"; if ($optioncss != '') print ''; @@ -181,7 +181,7 @@ else print ''; print_liste_field_titre("HierarchicView"); - print_liste_field_titre('', $_SERVER['PHP_SELF'], "", '', "", 'align="center"'); + print_liste_field_titre('', $_SERVER['PHP_SELF'], "", '', "", 'align="center"'); print_liste_field_titre("Status", $_SERVER['PHP_SELF'], "", '', "", 'align="right"'); print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', '', '', '', '', 'maxwidthsearch '); print ''; diff --git a/htdocs/user/home.php b/htdocs/user/home.php index da037243ed8..4c46c502acc 100644 --- a/htdocs/user/home.php +++ b/htdocs/user/home.php @@ -61,7 +61,7 @@ $hookmanager->initHooks(array('userhome')); llxHeader(); -print load_fiche_titre($langs->trans("MenuUsersAndGroups")); +print load_fiche_titre($langs->trans("MenuUsersAndGroups"), '', 'user'); print '
    '; @@ -92,7 +92,7 @@ print '
    '; /* - * Last created users + * Latest created users */ $max = 10; @@ -128,8 +128,7 @@ if ($resql) print '
    '; print '
    '.$langs->trans("Login").'
    '; print ''; - print ''; - print ''; + print ''; print ''; $i = 0; @@ -165,7 +164,7 @@ if ($resql) print img_picto($langs->trans("Administrator"), 'star'); } print ""; - print ''; + print ''; print "
    '.$langs->trans("LastUsersCreated", min($num, $max)).''.$langs->trans("FullList").''.$langs->trans("FullList").'
    '.$obj->login.''.$obj->login.'"; if ($obj->fk_soc) { diff --git a/htdocs/user/list.php b/htdocs/user/list.php index 090be8f855c..ef6e205fd0d 100644 --- a/htdocs/user/list.php +++ b/htdocs/user/list.php @@ -653,7 +653,7 @@ while ($i < min($num, $limit)) // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Date creation diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 23ac2d421d0..f9ebd310cfa 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -261,8 +261,8 @@ if ($action == 'edit') clearstatcache(); - print ''; - print ''; + print '
    '.$langs->trans("Parameter").''.$langs->trans("DefaultValue").' '.$langs->trans("PersonalValue").'
    '; + print ''; // Landing page print ''; @@ -333,8 +333,8 @@ else dol_banner_tab($object, 'id', $linkback, $user->rights->user->user->lire || $user->admin); - print '
    '.$langs->trans("Parameter").''.$langs->trans("DefaultValue").' '.$langs->trans("PersonalValue").'
    '.$langs->trans("LandingPage").'
    '; - print ''; + print '
    '.$langs->trans("Parameter").''.$langs->trans("DefaultValue").' '.$langs->trans("PersonalValue").'
    '; + print ''; // Landing page print ''; diff --git a/htdocs/user/passwordforgotten.php b/htdocs/user/passwordforgotten.php index 461ab8e7b4a..83289521538 100644 --- a/htdocs/user/passwordforgotten.php +++ b/htdocs/user/passwordforgotten.php @@ -77,7 +77,11 @@ if ($action == 'validatenewpassword' && $username && $passwordhash) { if (dol_verifyHash($edituser->pass_temp, $passwordhash)) { - $newpassword = $edituser->setPassword($user, $edituser->pass_temp, 0); + // Clear session + unset($_SESSION['dol_login']); + $_SESSION['dol_loginmesg'] = $langs->trans('NewPasswordValidated'); // Save message for the session page + + $newpassword = $edituser->setPassword($user, $edituser->pass_temp, 0); dol_syslog("passwordforgotten.php new password for user->id=".$edituser->id." validated in database"); header("Location: ".DOL_URL_ROOT.'/'); exit; @@ -131,9 +135,9 @@ if ($action == 'buildnewpassword' && $username) else { // Success - if ($edituser->send_password($edituser, $newpassword, 1) > 0) + if ($edituser->send_password($user, $newpassword, 1) > 0) { - $message = '
    '.$langs->trans("PasswordChangeRequestSent", $edituser->login, dolObfuscateEmail($edituser->email)).'
    '; + $message = ''; $username = ''; } else @@ -188,13 +192,13 @@ elseif (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output.' $urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo); $width = 128; } -elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/img/dolibarr_logo.png')) +elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/img/dolibarr_logo.svg')) { - $urllogo = DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/dolibarr_logo.png'; + $urllogo = DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/dolibarr_logo.svg'; } -elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.png')) +elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.svg')) { - $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.png'; + $urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.svg'; } // Security graphical code diff --git a/htdocs/user/perms.php b/htdocs/user/perms.php index 24061a9e949..5d06973abf6 100644 --- a/htdocs/user/perms.php +++ b/htdocs/user/perms.php @@ -294,9 +294,9 @@ print ''."\n"; //print "xx".$conf->global->MAIN_USE_ADVANCED_PERMS; $sql = "SELECT r.id, r.libelle as label, r.module, r.perms, r.subperms, r.module_position"; $sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r"; -$sql .= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous" -$sql .= " AND r.entity = " . $entity; -if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) $sql .= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is not enabled +$sql .= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous" +$sql .= " AND r.entity = ".$entity; +if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) $sql .= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is not enabled $sql .= " ORDER BY r.family_position, r.module_position, r.module, r.id"; $result = $db->query($sql); diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index 3cb23b36fbc..b2534ee92dd 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -52,7 +52,15 @@ if (isset($_GET["hashp"]) && !defined("NOLOGIN")) if (!defined("NOIPCHECK")) define("NOIPCHECK", 1); // Do not check IP defined into conf $dolibarr_main_restrict_ip } // Some value of modulepart can be used to get resources that are public so no login are required. -if ((isset($_GET["modulepart"]) && $_GET["modulepart"] == 'medias')) +if (isset($_GET["modulepart"]) && $_GET["modulepart"] == 'medias') +{ + if (!defined("NOLOGIN")) define("NOLOGIN", 1); + if (!defined("NOCSRFCHECK")) define("NOCSRFCHECK", 1); // We accept to go on this page from external web site. + if (!defined("NOIPCHECK")) define("NOIPCHECK", 1); // Do not check IP defined into conf $dolibarr_main_restrict_ip +} + +// Used by TakePOS Auto Order +if (isset($_GET["modulepart"]) && $_GET["modulepart"] == 'product' && isset($_GET["publictakepos"])) { if (!defined("NOLOGIN")) define("NOLOGIN", 1); if (!defined("NOCSRFCHECK")) define("NOCSRFCHECK", 1); // We accept to go on this page from external web site. @@ -195,6 +203,12 @@ if (!empty($hashp)) $accessallowed = 1; // When using hashp, link is public so we force $accessallowed $sqlprotectagainstexternals = ''; } +elseif (isset($_GET["publictakepos"])) +{ + if (! empty($conf->global->TAKEPOS_AUTO_ORDER)) { + $accessallowed = 1; // Only if TakePOS Public Auto Order is enabled and received publictakepos variable + } +} else { // Basic protection (against external users only) diff --git a/htdocs/webservices/server_actioncomm.php b/htdocs/webservices/server_actioncomm.php index bc3d4a78c6a..39ed3b3cdf5 100644 --- a/htdocs/webservices/server_actioncomm.php +++ b/htdocs/webservices/server_actioncomm.php @@ -153,8 +153,8 @@ $server->wsdl->addComplexType( 'sequence', '', array( - 'code' => array('name'=>'code', 'type'=>'xsd:string'), - 'libelle' => array('name'=>'libelle', 'type'=>'xsd:string') + 'code' => array('name'=>'code', 'type'=>'xsd:string'), + 'libelle' => array('name'=>'libelle', 'type'=>'xsd:string') ) ); @@ -164,7 +164,7 @@ $server->wsdl->addComplexType( 'array', 'sequence', '', - array( + array( 'actioncommtype' => array( 'name' => 'actioncommtype', 'type' => 'tns:actioncommtype', diff --git a/htdocs/webservices/server_other.php b/htdocs/webservices/server_other.php index 3944ef5befa..4ae702ade15 100644 --- a/htdocs/webservices/server_other.php +++ b/htdocs/webservices/server_other.php @@ -137,7 +137,12 @@ $server->register( -// Full methods code +/** + * Full methods code + * + * @param string $authentication Authentication string + * @return array Array of data + */ function getVersions($authentication) { global $db, $conf, $langs; diff --git a/htdocs/website/class/website.class.php b/htdocs/website/class/website.class.php index 2691dd9ebfd..be91f6640a1 100644 --- a/htdocs/website/class/website.class.php +++ b/htdocs/website/class/website.class.php @@ -249,6 +249,13 @@ class Website extends CommonObject // } } + if (! $error) { + $stringtodolibarrfile = "# Some properties for Dolibarr web site CMS\n"; + $stringtodolibarrfile .= "param=value\n"; + //print $conf->website->dir_output.'/'.$this->ref.'/.dolibarr';exit; + file_put_contents($conf->website->dir_output.'/'.$this->ref.'/.dolibarr', $stringtodolibarrfile); + } + // Commit or rollback if ($error) { $this->db->rollback(); @@ -668,7 +675,7 @@ class Website extends CommonObject if (!$error) { - dolCopyDir($pathofwebsiteold, $pathofwebsitenew, $conf->global->MAIN_UMASK, 0); + dolCopyDir($pathofwebsiteold, $pathofwebsitenew, $conf->global->MAIN_UMASK, 0, null, 2); // Check symlink to medias and restore it if ko $pathtomedias = DOL_DATA_ROOT.'/medias'; // Target @@ -927,30 +934,34 @@ class Website extends CommonObject $arrayreplacementincss['file=logos%2Fthumbs%2F'.$mysoc->logo] = "file=logos%2Fthumbs%2F__LOGO_KEY__"; } + // Create output directories + dol_syslog("Create containers dir"); + dol_mkdir($conf->website->dir_temp.'/'.$website->ref.'/containers'); + dol_mkdir($conf->website->dir_temp.'/'.$website->ref.'/medias/image/websitekey'); + dol_mkdir($conf->website->dir_temp.'/'.$website->ref.'/medias/js/websitekey'); + + // Copy files into 'containers' $srcdir = $conf->website->dir_output.'/'.$website->ref; $destdir = $conf->website->dir_temp.'/'.$website->ref.'/containers'; - // Create containers dir - dol_syslog("Create containers dir"); - dol_mkdir($conf->website->dir_temp.'/'.$website->ref.'/containers'); - - // Copy files into medias dol_syslog("Copy content from ".$srcdir." into ".$destdir); - dolCopyDir($srcdir, $destdir, 0, 1, $arrayreplacementinfilename); + dolCopyDir($srcdir, $destdir, 0, 1, $arrayreplacementinfilename, 2); + // Copy files into medias/image $srcdir = DOL_DATA_ROOT.'/medias/image/'.$website->ref; $destdir = $conf->website->dir_temp.'/'.$website->ref.'/medias/image/websitekey'; dol_syslog("Copy content from ".$srcdir." into ".$destdir); dolCopyDir($srcdir, $destdir, 0, 1, $arrayreplacementinfilename); + // Copy files into medias/js $srcdir = DOL_DATA_ROOT.'/medias/js/'.$website->ref; $destdir = $conf->website->dir_temp.'/'.$website->ref.'/medias/js/websitekey'; - // Copy containers files dol_syslog("Copy content from ".$srcdir." into ".$destdir); dolCopyDir($srcdir, $destdir, 0, 1, $arrayreplacementinfilename); + // Make some replacement into some files $cssindestdir = $conf->website->dir_temp.'/'.$website->ref.'/containers/styles.css.php'; dolReplaceInFile($cssindestdir, $arrayreplacementincss); diff --git a/htdocs/website/class/websitepage.class.php b/htdocs/website/class/websitepage.class.php index 84eaf0efb27..2a72a222265 100644 --- a/htdocs/website/class/websitepage.class.php +++ b/htdocs/website/class/websitepage.class.php @@ -108,6 +108,29 @@ class WebsitePage extends CommonObject const STATUS_VALIDATED = 1; + /** + * 'type' if the field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' is the CSS style to use on field. For example: 'maxwidth200' + * 'help' is a string visible as a tooltip on field + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arraykeyval' to set list of value if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel") + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ // BEGIN MODULEBUILDER PROPERTIES /** @@ -122,7 +145,7 @@ class WebsitePage extends CommonObject 'description' =>array('type'=>'varchar(255)', 'label'=>'Description', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1), 'image' =>array('type'=>'varchar(255)', 'label'=>'Image', 'enabled'=>1, 'visible'=>1, 'position'=>32, 'searchall'=>0, 'help'=>'Relative path of media. Used if Type is "blogpost"'), 'keywords' =>array('type'=>'varchar(255)', 'label'=>'Keywords', 'enabled'=>1, 'visible'=>1, 'position'=>45, 'searchall'=>0), - 'lang' =>array('type'=>'varchar(6)', 'label'=>'Lang', 'enabled'=>1, 'visible'=>1, 'position'=>45, 'searchall'=>0), + 'lang' =>array('type'=>'varchar(6)', 'label'=>'Lang', 'enabled'=>1, 'notnull'=>-1, 'visible'=>1, 'position'=>45, 'searchall'=>0), //'status' =>array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'index'=>true, 'position'=>1000), 'fk_website' =>array('type'=>'integer', 'label'=>'WebsiteId', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>40, 'searchall'=>0, 'foreignkey'=>'websitepage.rowid'), 'fk_page' =>array('type'=>'integer', 'label'=>'ParentPageId', 'enabled'=>1, 'visible'=>1, 'notnull'=>-1, 'position'=>45, 'searchall'=>0, 'foreignkey'=>'website.rowid'), @@ -329,10 +352,23 @@ class WebsitePage extends CommonObject $sqlwhere = array(); if (count($filter) > 0) { foreach ($filter as $key => $value) { - if ($key == 't.rowid' || $key == 't.fk_website') { + if ($key == 't.rowid' || $key == 't.fk_website' || $key == 'status') { $sqlwhere[] = $key.'='.$value; + } elseif ($key == 'type_container') { + $sqlwhere[] = $key."='".$value."'"; } elseif ($key == 'lang' || $key == 't.lang') { - $sqlwhere[] = $key." = '".$this->db->escape(substr($value, 0, 2))."'"; + $listoflang = array(); + $foundnull = 0; + foreach(explode(',', $value) as $tmpvalue) { + if ($tmpvalue == 'null') { + $foundnull++; + continue; + } + $listoflang[] = "'".$this->db->escape(substr(str_replace("'", '', $tmpvalue), 0, 2))."'"; + } + $stringtouse = $key." IN (".join(',', $listoflang).")"; + if ($foundnull) $stringtouse = '('.$stringtouse.' OR '.$key.' IS NULL)'; + $sqlwhere[] = $stringtouse; } else { $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; } diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 437ef5b498d..ac26f2ee7bb 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -271,7 +271,11 @@ if (GETPOST('optioncontent')) $algo .= 'content'; if (GETPOST('optionsitefiles')) $algo .= 'sitefiles'; if (empty($sortfield)) { - $sortfield = 'pageurl'; $sortorder = 'ASC'; + if ($action == 'file_manager') { + $sortfield='name'; $sortorder = 'ASC'; + } else { + $sortfield = 'pageurl'; $sortorder = 'ASC'; + } } $searchkey = GETPOST('searchstring', 'none'); @@ -327,8 +331,8 @@ if ($cancel) $savbacktopage = $backtopage; $backtopage = $_SERVER["PHP_SELF"].'?file_manager=1&website='.$websitekey.'&pageid='.$pageid.(GETPOST('section_dir', 'alpha') ? '§ion_dir='.urlencode(GETPOST('section_dir', 'alpha')) : ''); // used after a confirm_deletefile into actions_linkedfiles.inc.php -if ($sortfield) $backtopage.='&sortfield='.$sortfield; -if ($sortorder) $backtopage.='&sortorder='.$sortorder; +if ($sortfield) $backtopage .= '&sortfield='.$sortfield; +if ($sortorder) $backtopage .= '&sortorder='.$sortorder; include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; $backtopage = $savbacktopage; @@ -1232,7 +1236,7 @@ if ($action == 'updatecss') $csscontent .= ""."\n"; + $csscontent .= "// END PHP ?>\n"; dol_syslog("Save css content into ".$filecss); @@ -1263,7 +1267,7 @@ if ($action == 'updatecss') $jscontent .= ""."\n"; + $jscontent .= "// END PHP ?>\n"; $result = dolSaveJsFile($filejs, $jscontent); if (!$result) @@ -1329,7 +1333,7 @@ if ($action == 'updatecss') $manifestjsoncontent .= ""."\n"; + $manifestjsoncontent .= "// END PHP ?>\n"; $result = dolSaveManifestJson($filemanifestjson, $manifestjsoncontent); if (!$result) @@ -2133,7 +2137,7 @@ print '
    '; // Add a margin under toolbar ? $style = ''; -if ($action != 'preview' && $action != 'editcontent' && $action != 'editsource' && ! GETPOST('createpagefromclone', 'alphanohtml')) $style = ' margin-bottom: 5px;'; +if ($action != 'preview' && $action != 'editcontent' && $action != 'editsource' && !GETPOST('createpagefromclone', 'alphanohtml')) $style = ' margin-bottom: 5px;'; if (!GETPOST('hide_websitemenu')) @@ -2437,7 +2441,7 @@ if (!GETPOST('hide_websitemenu')) $preselectedlanguage = GETPOST('newlang', 'aZ09') ? GETPOST('newlang', 'aZ09') : ($objectpage->lang ? $objectpage->lang : $langs->defaultlang); $onlylang = array(); if ($website->otherlang) { - foreach(explode(',', $website->otherlang) as $langkey) { + foreach (explode(',', $website->otherlang) as $langkey) { $onlylang[$langkey] = $langkey; } $textifempty = 1; @@ -2719,7 +2723,9 @@ if ($action == 'editcss') { $csscontent = GETPOST('WEBSITE_CSS_INLINE', 'none'); } - if (!trim($csscontent)) $csscontent = '/* CSS content (all pages) */'."\n"."body.bodywebsite { margin: 0; font-family: 'Open Sans', sans-serif; }\n.bodywebsite h1 { margin-top: 0; margin-bottom: 0; padding: 10px;}"; + if (!trim($csscontent)) { + $csscontent = '/* CSS content (all pages) */'."\nbody.bodywebsite { margin: 0; font-family: 'Open Sans', sans-serif; }\n.bodywebsite h1 { margin-top: 0; margin-bottom: 0; padding: 10px;}"; + } if (!GETPOSTISSET('WEBSITE_JS_INLINE')) { @@ -3164,6 +3170,7 @@ if ($action == 'editmeta' || $action == 'createcontainer') $pageauthorid = $objectpage->fk_user_creat; $pageusermodifid = $objectpage->fk_user_modif; $pageauthoralias = $objectpage->author_alias; + $pagestatus = $objectpage->status; } else { @@ -3172,6 +3179,7 @@ if ($action == 'editmeta' || $action == 'createcontainer') $pageauthorid = $user->id; $pageusermodifid = 0; $pageauthoralias = ''; + $pagestatus = 1; } if (GETPOST('WEBSITE_TITLE', 'alpha')) $pagetitle = GETPOST('WEBSITE_TITLE', 'alpha'); if (GETPOST('WEBSITE_PAGENAME', 'alpha')) $pageurl = GETPOST('WEBSITE_PAGENAME', 'alpha'); @@ -3180,7 +3188,7 @@ if ($action == 'editmeta' || $action == 'createcontainer') if (GETPOST('WEBSITE_IMAGE', 'alpha')) $pageimage = GETPOST('WEBSITE_IMAGE', 'alpha'); if (GETPOST('WEBSITE_KEYWORDS', 'alpha')) $pagekeywords = GETPOST('WEBSITE_KEYWORDS', 'alpha'); if (GETPOST('WEBSITE_LANG', 'aZ09')) $pagelang = GETPOST('WEBSITE_LANG', 'aZ09'); - if (GETPOST('htmlheader', 'none')) $pagehtmlheader = GETPOST('htmlheader', 'none'); + if (GETPOST('htmlheader', 'none')) $pagehtmlheader = GETPOST('htmlheader', 'none'); // Title print '
    '; @@ -3373,6 +3383,16 @@ if ($action == 'editmeta' || $action == 'createcontainer') print $doleditor->Create(1, '', true, 'HTML Header', 'html'); print ''; + if ($action != 'createcontainer') + { + print ''; + } + print '
    '.$langs->trans("Parameter").''.$langs->trans("DefaultValue").' '.$langs->trans("PersonalValue").'
    '.$langs->trans("LandingPage").'
    '; @@ -3328,6 +3336,8 @@ if ($action == 'editmeta' || $action == 'createcontainer') { $fuser->fetch($pageauthorid); print $fuser->getNomUrl(1); + } else { + print ''.$langs->trans("Unknown").''; } print '
    '; + print $langs->trans('Status'); + print ''; + print ajax_object_onoff($objectpage, 'status', 'status', 'Enabled', 'Disabled'); + //print dol_print_date($pagedatecreation, 'dayhour'); + print '
    '; if ($action == 'createcontainer') { @@ -3523,9 +3543,10 @@ if ($action == 'replacesite' || $action == 'replacesiteconfirm' || $massaction = print $langs->trans("SearchString"); print ''; print '
    '; - print ''; - print ''; + print ''; + + print ''; print '
    '; print ''; diff --git a/htdocs/website/samples/wrapper.php b/htdocs/website/samples/wrapper.php index 84878a102f6..25483a36f53 100644 --- a/htdocs/website/samples/wrapper.php +++ b/htdocs/website/samples/wrapper.php @@ -102,9 +102,11 @@ if ($rss) { $MAXNEWS = 20; $arrayofblogs = $websitepage->fetchAll($website->id, 'DESC', 'date_creation', $MAXNEWS, 0, $filters); $eventarray = array(); - foreach ($arrayofblogs as $blog) { - $blog->fullpageurl = $website->virtualhost.'/'.$blog->pageurl.'.php'; - $eventarray[] = $blog; + if (is_array($arrayofblogs)) { + foreach ($arrayofblogs as $blog) { + $blog->fullpageurl = $website->virtualhost.'/'.$blog->pageurl.'.php'; + $eventarray[] = $blog; + } } require_once DOL_DOCUMENT_ROOT."/core/lib/xcal.lib.php"; diff --git a/htdocs/website/websiteaccount_card.php b/htdocs/website/websiteaccount_card.php index 046a5005e51..be0c4c3cc41 100644 --- a/htdocs/website/websiteaccount_card.php +++ b/htdocs/website/websiteaccount_card.php @@ -223,7 +223,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Object card // ------------------------------------------------------------ $linkback = ''; - if ($socid) $linkback = ''.$langs->trans("BackToListOfThirdParty").''; + if ($socid) $linkback = ''.$langs->trans("BackToListForThirdParty").''; if ($fk_website) $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; diff --git a/htdocs/zapier/class/hook.class.php b/htdocs/zapier/class/hook.class.php index 32268b039b4..b985c77434e 100644 --- a/htdocs/zapier/class/hook.class.php +++ b/htdocs/zapier/class/hook.class.php @@ -715,7 +715,6 @@ class Hook extends CommonObject * * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) */ - //public function doScheduledJob($param1, $param2, ...) public function doScheduledJob() { global $conf, $langs; diff --git a/htdocs/zapier/hook_document.php b/htdocs/zapier/hook_document.php index a5610543eac..cdc5f8c7ddf 100644 --- a/htdocs/zapier/hook_document.php +++ b/htdocs/zapier/hook_document.php @@ -46,11 +46,12 @@ $ref = GETPOST('ref', 'alpha'); //$result = restrictedArea($user, 'mymodule', $id); // Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 -$offset = $conf->liste_limit * $page; +$offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) $sortorder = "ASC"; diff --git a/htdocs/zapier/hook_list.php b/htdocs/zapier/hook_list.php index 7c8b0057fec..8be913c5a8c 100644 --- a/htdocs/zapier/hook_list.php +++ b/htdocs/zapier/hook_list.php @@ -519,7 +519,7 @@ while ($i < min($num, $limit)) { // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 24e92c79d0b..79d52c49445 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -227,11 +227,13 @@ if (is_array($qualifiedjobs) && (count($qualifiedjobs) > 0)) { echo "You can also enable module Log if not yet enabled, run again and take a look into dolibarr.log file\n"; dol_syslog("cron_run_jobs.php::run_jobs Error ".$cronjob->error, LOG_ERR); $nbofjobslaunchedko++; + $resultstring = 'KO'; } else { $nbofjobslaunchedok++; + $resultstring = 'OK'; } - echo " - result of run_jobs = ".$result; + echo " - run_jobs ".$resultstring." result = ".$result; // We re-program the next execution and stores the last execution time for this job $result = $cronjob->reprogram_jobs($userlogin, $now); diff --git a/test/phpunit/AccountingAccountTest.php b/test/phpunit/AccountingAccountTest.php index ea1651c5902..b4367e96f49 100644 --- a/test/phpunit/AccountingAccountTest.php +++ b/test/phpunit/AccountingAccountTest.php @@ -73,7 +73,11 @@ class AccountingAccountTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class AccountingAccountTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ActionCommTest.php b/test/phpunit/ActionCommTest.php index 6bb7f12250d..0dd4946f69c 100644 --- a/test/phpunit/ActionCommTest.php +++ b/test/phpunit/ActionCommTest.php @@ -73,7 +73,11 @@ class ActionCommTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class ActionCommTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; @@ -140,7 +148,7 @@ class ActionCommTest extends PHPUnit\Framework\TestCase $localobject->type_code = 'AC_OTH_AUTO'; // Type of event ('AC_OTH', 'AC_OTH_AUTO', 'AC_XXX'...) $localobject->code = 'AC_PHPUNITTEST'; $localobject->label = 'This is a description'; - $localobject->note = 'This is note'; + $localobject->note_private = 'This is note'; $localobject->fk_project = 0; $localobject->datep = $now; $localobject->datef = $now; diff --git a/test/phpunit/AdherentTest.php b/test/phpunit/AdherentTest.php index c78bc6542bb..f19e88c36a6 100644 --- a/test/phpunit/AdherentTest.php +++ b/test/phpunit/AdherentTest.php @@ -75,7 +75,11 @@ class AdherentTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -91,7 +95,11 @@ class AdherentTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; @@ -325,13 +333,13 @@ class AdherentTest extends PHPUnit\Framework\TestCase $conf->global->MAIN_FIRSTNAME_NAME_POSITION = 0; // Force setup for firstname+lastname - $template = '__CIVILITY__,__FIRSTNAME__,__LASTNAME__,__FULLNAME__,__COMPANY__,'. - '__ADDRESS__,__ZIP__,__TOWN__,__COUNTRY__,__EMAIL__,__BIRTH__,__PHOTO__,__LOGIN__'; + $template = '__CIVILITY__,__FIRSTNAME__,__LASTNAME__,__FULLNAME__,__COMPANY__,'; + $template .= '__ADDRESS__,__ZIP__,__TOWN__,__COUNTRY__,__EMAIL__,__BIRTH__,__PHOTO__,__LOGIN__'; // If option to store clear password has been set, we get 'dolibspec' into PASSWORD field. - $expected = ',New firstname,New name,New firstname New name,'. - 'New company label,New address,New zip,New town,Belgium,newemail@newemail.com,'.dol_print_date($localobject->birth, 'day').',,'. - 'newlogin'; + $expected = ',New firstname,New name,New firstname New name,'; + $expected .= 'New company label,New address,New zip,New town,Belgium,newemail@newemail.com,'.dol_print_date($localobject->birth, 'day').',,'; + $expected .= 'newlogin'; $result = $localobject->makeSubstitution($template); print __METHOD__." result=".$result."\n"; diff --git a/test/phpunit/AdminLibTest.php b/test/phpunit/AdminLibTest.php index 7f3c9030725..e3c38c1df86 100644 --- a/test/phpunit/AdminLibTest.php +++ b/test/phpunit/AdminLibTest.php @@ -73,7 +73,11 @@ class AdminLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class AdminLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/BOMTest.php b/test/phpunit/BOMTest.php index 41cbdd9f247..39268bdeaea 100644 --- a/test/phpunit/BOMTest.php +++ b/test/phpunit/BOMTest.php @@ -74,7 +74,11 @@ class BOMTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class BOMTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/BankAccountTest.php b/test/phpunit/BankAccountTest.php index 416a17f0c0f..1007db02dad 100644 --- a/test/phpunit/BankAccountTest.php +++ b/test/phpunit/BankAccountTest.php @@ -75,7 +75,11 @@ class BankAccountTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class BankAccountTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/BuildDocTest.php b/test/phpunit/BuildDocTest.php index 61d7b7f1199..de4da3790b5 100644 --- a/test/phpunit/BuildDocTest.php +++ b/test/phpunit/BuildDocTest.php @@ -103,7 +103,11 @@ class BuildDocTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -121,7 +125,11 @@ class BuildDocTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CMailFileTest.php b/test/phpunit/CMailFileTest.php index 8029959c22b..d407b67d991 100755 --- a/test/phpunit/CMailFileTest.php +++ b/test/phpunit/CMailFileTest.php @@ -73,7 +73,11 @@ class CMailFileTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class CMailFileTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CategorieTest.php b/test/phpunit/CategorieTest.php index 3c81a7aee21..a62d362a972 100644 --- a/test/phpunit/CategorieTest.php +++ b/test/phpunit/CategorieTest.php @@ -74,7 +74,11 @@ class CategorieTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class CategorieTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ChargeSocialesTest.php b/test/phpunit/ChargeSocialesTest.php index b1a3fd87b30..33349449795 100644 --- a/test/phpunit/ChargeSocialesTest.php +++ b/test/phpunit/ChargeSocialesTest.php @@ -74,7 +74,11 @@ class ChargeSocialesTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class ChargeSocialesTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CodingPhpTest.php b/test/phpunit/CodingPhpTest.php index 733071c0f58..5c3c6d7d54e 100644 --- a/test/phpunit/CodingPhpTest.php +++ b/test/phpunit/CodingPhpTest.php @@ -86,7 +86,11 @@ class CodingPhpTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -95,7 +99,11 @@ class CodingPhpTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CodingSqlTest.php b/test/phpunit/CodingSqlTest.php index b62b9befcc7..f56d00b5bcd 100644 --- a/test/phpunit/CodingSqlTest.php +++ b/test/phpunit/CodingSqlTest.php @@ -86,7 +86,11 @@ class CodingSqlTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -95,7 +99,11 @@ class CodingSqlTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CommandeFournisseurTest.php b/test/phpunit/CommandeFournisseurTest.php index 7ccbf5d0b76..bebd65634bf 100644 --- a/test/phpunit/CommandeFournisseurTest.php +++ b/test/phpunit/CommandeFournisseurTest.php @@ -75,7 +75,11 @@ class CommandeFournisseurTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class CommandeFournisseurTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CommandeTest.php b/test/phpunit/CommandeTest.php index ad2920282b2..990ef41f0b7 100644 --- a/test/phpunit/CommandeTest.php +++ b/test/phpunit/CommandeTest.php @@ -73,7 +73,11 @@ class CommandeTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class CommandeTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CommonInvoiceTest.php b/test/phpunit/CommonInvoiceTest.php index 9f4b5998455..5e9c45825ec 100644 --- a/test/phpunit/CommonInvoiceTest.php +++ b/test/phpunit/CommonInvoiceTest.php @@ -73,7 +73,11 @@ class CommonInvoiceTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class CommonInvoiceTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CommonObjectTest.php b/test/phpunit/CommonObjectTest.php index e32952c167d..6c68423e8a9 100644 --- a/test/phpunit/CommonObjectTest.php +++ b/test/phpunit/CommonObjectTest.php @@ -74,7 +74,11 @@ class CommonObjectTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class CommonObjectTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CompanyBankAccountTest.php b/test/phpunit/CompanyBankAccountTest.php index 7410e1f15f9..1979f89fabb 100644 --- a/test/phpunit/CompanyBankAccountTest.php +++ b/test/phpunit/CompanyBankAccountTest.php @@ -74,7 +74,11 @@ class CompanyBankAccountTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class CompanyBankAccountTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CompanyLibTest.php b/test/phpunit/CompanyLibTest.php index c45f6ebd208..ab9eb414634 100644 --- a/test/phpunit/CompanyLibTest.php +++ b/test/phpunit/CompanyLibTest.php @@ -73,7 +73,11 @@ class CompanyLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class CompanyLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ContactTest.php b/test/phpunit/ContactTest.php index 8fdaea0cbe7..0c5687e67c9 100755 --- a/test/phpunit/ContactTest.php +++ b/test/phpunit/ContactTest.php @@ -82,7 +82,11 @@ class ContactTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -92,7 +96,11 @@ class ContactTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ContratTest.php b/test/phpunit/ContratTest.php index 7c302105aa2..d364d6c9dff 100644 --- a/test/phpunit/ContratTest.php +++ b/test/phpunit/ContratTest.php @@ -74,7 +74,11 @@ class ContratTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class ContratTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/CoreTest.php b/test/phpunit/CoreTest.php index c34bbffba95..87c43798a0f 100644 --- a/test/phpunit/CoreTest.php +++ b/test/phpunit/CoreTest.php @@ -76,7 +76,11 @@ class CoreTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,11 @@ class CoreTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/DateLibTest.php b/test/phpunit/DateLibTest.php index dd32e02cee6..062bdb6dd11 100644 --- a/test/phpunit/DateLibTest.php +++ b/test/phpunit/DateLibTest.php @@ -74,7 +74,11 @@ class DateLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class DateLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/DateLibTzFranceTest.php b/test/phpunit/DateLibTzFranceTest.php index 895599becde..7e96e39030e 100644 --- a/test/phpunit/DateLibTzFranceTest.php +++ b/test/phpunit/DateLibTzFranceTest.php @@ -74,7 +74,11 @@ class DateLibTzFranceTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -88,7 +92,11 @@ class DateLibTzFranceTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/DiscountTest.php b/test/phpunit/DiscountTest.php index 202c41958d0..9eba2460655 100644 --- a/test/phpunit/DiscountTest.php +++ b/test/phpunit/DiscountTest.php @@ -74,7 +74,11 @@ class DiscountTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class DiscountTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/EntrepotTest.php b/test/phpunit/EntrepotTest.php index f5468d49c4b..27fd3dabbf3 100644 --- a/test/phpunit/EntrepotTest.php +++ b/test/phpunit/EntrepotTest.php @@ -74,7 +74,11 @@ class EntrepotTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class EntrepotTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; @@ -139,7 +147,7 @@ class EntrepotTest extends PHPUnit\Framework\TestCase $result=$localobject->create($user); print __METHOD__." result=".$result."\n"; - $this->assertLessThanOrEqual($result, 0); + $this->assertGreaterThan(0, $result); return $result; } @@ -242,24 +250,4 @@ class EntrepotTest extends PHPUnit\Framework\TestCase return $result; } - - /** - * testEntrepotStatic - * - * @return void - */ - public function testEntrepotStatic() - { - global $conf,$user,$langs,$db; - $conf=$this->savconf; - $user=$this->savuser; - $langs=$this->savlangs; - $db=$this->savdb; - - $localobject=new Entrepot($db); - - //$this->assertLessThan(1, 0); - - return; - } } diff --git a/test/phpunit/ExpenseReportTest.php b/test/phpunit/ExpenseReportTest.php index 67467ac6c81..3f6402262c3 100644 --- a/test/phpunit/ExpenseReportTest.php +++ b/test/phpunit/ExpenseReportTest.php @@ -74,7 +74,11 @@ class ExpenseReportTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class ExpenseReportTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ExportTest.php b/test/phpunit/ExportTest.php index 3abec2ee0e1..590accccbed 100644 --- a/test/phpunit/ExportTest.php +++ b/test/phpunit/ExportTest.php @@ -78,7 +78,11 @@ class ExportTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -87,7 +91,11 @@ class ExportTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FactureFournisseurTest.php b/test/phpunit/FactureFournisseurTest.php index b277ba5c1b3..d9cd44a40d2 100644 --- a/test/phpunit/FactureFournisseurTest.php +++ b/test/phpunit/FactureFournisseurTest.php @@ -75,7 +75,11 @@ class FactureFournisseurTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class FactureFournisseurTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FactureRecTest.php b/test/phpunit/FactureRecTest.php index 71caddeb491..f89ab4b1f13 100644 --- a/test/phpunit/FactureRecTest.php +++ b/test/phpunit/FactureRecTest.php @@ -75,7 +75,11 @@ class FactureRecTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class FactureRecTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FactureTest.php b/test/phpunit/FactureTest.php index 4e361895fcc..47f3a639b29 100644 --- a/test/phpunit/FactureTest.php +++ b/test/phpunit/FactureTest.php @@ -74,7 +74,11 @@ class FactureTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -87,7 +91,11 @@ class FactureTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FactureTestRounding.php b/test/phpunit/FactureTestRounding.php index 59ecc240461..f0165a88d0b 100644 --- a/test/phpunit/FactureTestRounding.php +++ b/test/phpunit/FactureTestRounding.php @@ -74,7 +74,11 @@ class FactureTestRounding extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class FactureTestRounding extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FichinterTest.php b/test/phpunit/FichinterTest.php index ba9408441a1..f78e9250471 100644 --- a/test/phpunit/FichinterTest.php +++ b/test/phpunit/FichinterTest.php @@ -74,7 +74,11 @@ class FichinterTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class FichinterTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FilesLibTest.php b/test/phpunit/FilesLibTest.php index 776e783a6b0..9d476953381 100644 --- a/test/phpunit/FilesLibTest.php +++ b/test/phpunit/FilesLibTest.php @@ -75,7 +75,11 @@ class FilesLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class FilesLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; @@ -336,7 +344,7 @@ class FilesLibTest extends PHPUnit\Framework\TestCase $result=dol_copy($file, $conf->admin->dir_temp.'/file.csv', 0, 1); print __METHOD__." result=".$result."\n"; - $this->assertGreaterThanOrEqual(1, $result, 'copy file ('.$file.') into a dir that exists ('.$conf->admin->dir_temp.'/file.csv'.')'); // Should be 1 + $this->assertGreaterThanOrEqual(1, $result, 'copy file ('.$file.') into a dir that exists ('.$conf->admin->dir_temp.'/file.csv)'); // Should be 1 // Again to test with overwriting=0 $result=dol_copy($file, $conf->admin->dir_temp.'/file.csv', 0, 0); diff --git a/test/phpunit/FormAdminTest.php b/test/phpunit/FormAdminTest.php index e6b92b698d9..a434841930c 100644 --- a/test/phpunit/FormAdminTest.php +++ b/test/phpunit/FormAdminTest.php @@ -74,7 +74,11 @@ class FormAdminTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class FormAdminTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FormTest.php b/test/phpunit/FormTest.php index 59cfeb3fa3d..bec23048e9f 100644 --- a/test/phpunit/FormTest.php +++ b/test/phpunit/FormTest.php @@ -74,7 +74,11 @@ class FormTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class FormTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/Functions2LibTest.php b/test/phpunit/Functions2LibTest.php index 4304251d7f1..21fa1f29257 100644 --- a/test/phpunit/Functions2LibTest.php +++ b/test/phpunit/Functions2LibTest.php @@ -77,7 +77,11 @@ class Functions2LibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class Functions2LibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/FunctionsLibTest.php b/test/phpunit/FunctionsLibTest.php index dff6b3a7d06..e3dabff6df9 100644 --- a/test/phpunit/FunctionsLibTest.php +++ b/test/phpunit/FunctionsLibTest.php @@ -77,7 +77,11 @@ class FunctionsLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -88,7 +92,11 @@ class FunctionsLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/GetUrlLibTest.php b/test/phpunit/GetUrlLibTest.php index ba074459f44..268122c8d48 100644 --- a/test/phpunit/GetUrlLibTest.php +++ b/test/phpunit/GetUrlLibTest.php @@ -75,7 +75,11 @@ class GetUrlLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class GetUrlLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/HolidayTest.php b/test/phpunit/HolidayTest.php index cd5a9f28138..e7e3e8749cd 100644 --- a/test/phpunit/HolidayTest.php +++ b/test/phpunit/HolidayTest.php @@ -76,7 +76,11 @@ class HolidayTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class HolidayTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ImagesLibTest.php b/test/phpunit/ImagesLibTest.php index 71474ba1847..3bfb676f3be 100644 --- a/test/phpunit/ImagesLibTest.php +++ b/test/phpunit/ImagesLibTest.php @@ -75,7 +75,11 @@ class ImagesLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class ImagesLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ImportTest.php b/test/phpunit/ImportTest.php index 9e6b973500a..ce689fda4a4 100644 --- a/test/phpunit/ImportTest.php +++ b/test/phpunit/ImportTest.php @@ -76,7 +76,11 @@ class ImportTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,11 @@ class ImportTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/JsonLibTest.php b/test/phpunit/JsonLibTest.php index 0b5d3dd53e6..7d2678b0ec7 100644 --- a/test/phpunit/JsonLibTest.php +++ b/test/phpunit/JsonLibTest.php @@ -76,7 +76,11 @@ class JsonLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,11 @@ class JsonLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/LangTest.php b/test/phpunit/LangTest.php index 3ff2917a9f2..f4a14373ebe 100644 --- a/test/phpunit/LangTest.php +++ b/test/phpunit/LangTest.php @@ -86,7 +86,11 @@ class LangTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -95,7 +99,11 @@ class LangTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/LesscTest.php b/test/phpunit/LesscTest.php index ca64853b381..a4ce302c540 100644 --- a/test/phpunit/LesscTest.php +++ b/test/phpunit/LesscTest.php @@ -86,7 +86,11 @@ class LesscTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -95,7 +99,11 @@ class LesscTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/LoanTest.php b/test/phpunit/LoanTest.php index 71a61c80ae0..253e779ac03 100644 --- a/test/phpunit/LoanTest.php +++ b/test/phpunit/LoanTest.php @@ -74,7 +74,11 @@ class LoanTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class LoanTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/MarginsLibTest.php b/test/phpunit/MarginsLibTest.php index fc25d929b38..e451262546d 100644 --- a/test/phpunit/MarginsLibTest.php +++ b/test/phpunit/MarginsLibTest.php @@ -74,7 +74,11 @@ class MarginsLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class MarginsLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ModulesTest.php b/test/phpunit/ModulesTest.php index 5a43de21167..f8feaa8f829 100755 --- a/test/phpunit/ModulesTest.php +++ b/test/phpunit/ModulesTest.php @@ -73,7 +73,11 @@ class ModulesTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class ModulesTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/MouvementStockTest.php b/test/phpunit/MouvementStockTest.php index d095736042b..23b6b2b0111 100644 --- a/test/phpunit/MouvementStockTest.php +++ b/test/phpunit/MouvementStockTest.php @@ -76,7 +76,11 @@ class MouvementStockTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,11 @@ class MouvementStockTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; @@ -148,13 +156,13 @@ class MouvementStockTest extends PHPUnit\Framework\TestCase // We create a product for tests $warehouse1=new Entrepot($db); $warehouse1->initAsSpecimen(); - $warehouse1->libelle.=' 1'; + $warehouse1->label.=' 1'; $warehouse1->description.=' 1'; $warehouse1id=$warehouse1->create($user); $warehouse2=new Entrepot($db); $warehouse2->initAsSpecimen(); - $warehouse2->libelle.=' 2'; + $warehouse2->label.=' 2'; $warehouse2->description.=' 2'; $warehouse2id=$warehouse2->create($user); diff --git a/test/phpunit/NumberingModulesTest.php b/test/phpunit/NumberingModulesTest.php index 099d6d2052c..089a2c2f4cf 100644 --- a/test/phpunit/NumberingModulesTest.php +++ b/test/phpunit/NumberingModulesTest.php @@ -73,7 +73,11 @@ class NumberingModulesTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class NumberingModulesTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/PaypalTest.php b/test/phpunit/PaypalTest.php index 96bfbefdf17..47d8341f501 100644 --- a/test/phpunit/PaypalTest.php +++ b/test/phpunit/PaypalTest.php @@ -75,7 +75,11 @@ class PaypalTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -87,7 +91,11 @@ class PaypalTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/PdfDocTest.php b/test/phpunit/PdfDocTest.php index 9c9c0bb666f..276deada0c6 100644 --- a/test/phpunit/PdfDocTest.php +++ b/test/phpunit/PdfDocTest.php @@ -77,7 +77,11 @@ class PdfDocTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class PdfDocTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/PgsqlTest.php b/test/phpunit/PgsqlTest.php index 4b2a5f98746..5a09e7fc55a 100644 --- a/test/phpunit/PgsqlTest.php +++ b/test/phpunit/PgsqlTest.php @@ -76,7 +76,11 @@ class PgsqlTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class PgsqlTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/PricesTest.php b/test/phpunit/PricesTest.php index d7f9e310088..0c47ec4f275 100755 --- a/test/phpunit/PricesTest.php +++ b/test/phpunit/PricesTest.php @@ -81,7 +81,11 @@ class PricesTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -90,7 +94,11 @@ class PricesTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ProductTest.php b/test/phpunit/ProductTest.php index 8a848416318..650d8a93e37 100644 --- a/test/phpunit/ProductTest.php +++ b/test/phpunit/ProductTest.php @@ -74,7 +74,11 @@ class ProductTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,12 @@ class ProductTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // teardownafterclass + + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ProjectTest.php b/test/phpunit/ProjectTest.php index 84a6411082f..8a7e0540b9a 100644 --- a/test/phpunit/ProjectTest.php +++ b/test/phpunit/ProjectTest.php @@ -75,7 +75,11 @@ class ProjectTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -84,7 +88,11 @@ class ProjectTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/PropalTest.php b/test/phpunit/PropalTest.php index 709c5bbcfb7..068fb53b052 100644 --- a/test/phpunit/PropalTest.php +++ b/test/phpunit/PropalTest.php @@ -74,7 +74,11 @@ class PropalTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class PropalTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/RestAPIDocumentTest.php b/test/phpunit/RestAPIDocumentTest.php index 9ce14a4ac92..65b8c206c9d 100644 --- a/test/phpunit/RestAPIDocumentTest.php +++ b/test/phpunit/RestAPIDocumentTest.php @@ -76,7 +76,11 @@ class RestAPIDocumentTest extends PHPUnit\Framework\TestCase echo "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,11 @@ class RestAPIDocumentTest extends PHPUnit\Framework\TestCase echo __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/RestAPIUserTest.php b/test/phpunit/RestAPIUserTest.php index ea3970e5a4b..9d49d10af73 100644 --- a/test/phpunit/RestAPIUserTest.php +++ b/test/phpunit/RestAPIUserTest.php @@ -80,7 +80,11 @@ class RestAPIUserTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -89,7 +93,11 @@ class RestAPIUserTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/ScriptsTest.php b/test/phpunit/ScriptsTest.php index e490054edfa..16884214418 100644 --- a/test/phpunit/ScriptsTest.php +++ b/test/phpunit/ScriptsTest.php @@ -86,7 +86,11 @@ class ScriptsTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -95,7 +99,11 @@ class ScriptsTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/SecurityTest.php b/test/phpunit/SecurityTest.php index 4130426d806..5a248006498 100644 --- a/test/phpunit/SecurityTest.php +++ b/test/phpunit/SecurityTest.php @@ -86,7 +86,11 @@ class SecurityTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -95,7 +99,11 @@ class SecurityTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/SocieteTest.php b/test/phpunit/SocieteTest.php index 070a8999bb2..4ed0771d668 100755 --- a/test/phpunit/SocieteTest.php +++ b/test/phpunit/SocieteTest.php @@ -74,7 +74,11 @@ class SocieteTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -88,7 +92,11 @@ class SocieteTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/SupplierProposalTest.php b/test/phpunit/SupplierProposalTest.php index 42d7e5842a6..27414ecab0a 100644 --- a/test/phpunit/SupplierProposalTest.php +++ b/test/phpunit/SupplierProposalTest.php @@ -77,7 +77,11 @@ class SupplierProposalTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -88,7 +92,11 @@ class SupplierProposalTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/TicketTest.php b/test/phpunit/TicketTest.php index fa7ea8df98f..c13bdcfb959 100644 --- a/test/phpunit/TicketTest.php +++ b/test/phpunit/TicketTest.php @@ -74,7 +74,11 @@ class TicketTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class TicketTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/UserGroupTest.php b/test/phpunit/UserGroupTest.php index fe08af2bce7..7e3cdd24b3a 100644 --- a/test/phpunit/UserGroupTest.php +++ b/test/phpunit/UserGroupTest.php @@ -73,7 +73,11 @@ class UserGroupTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class UserGroupTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/UserTest.php b/test/phpunit/UserTest.php index 3c89bd52d06..10b0bd7b0b7 100644 --- a/test/phpunit/UserTest.php +++ b/test/phpunit/UserTest.php @@ -73,7 +73,11 @@ class UserTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -85,7 +89,11 @@ class UserTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/UtilsTest.php b/test/phpunit/UtilsTest.php index a1b9eafa45e..dd5ba68ca8f 100644 --- a/test/phpunit/UtilsTest.php +++ b/test/phpunit/UtilsTest.php @@ -73,7 +73,11 @@ class UtilsTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -83,7 +87,11 @@ class UtilsTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/WebservicesOrdersTest.php b/test/phpunit/WebservicesOrdersTest.php index 8afd50a0394..33d842f6d39 100644 --- a/test/phpunit/WebservicesOrdersTest.php +++ b/test/phpunit/WebservicesOrdersTest.php @@ -77,7 +77,11 @@ class WebservicesOrdersTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class WebservicesOrdersTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/WebservicesOtherTest.php b/test/phpunit/WebservicesOtherTest.php index 7304e2bf367..34686cbec92 100644 --- a/test/phpunit/WebservicesOtherTest.php +++ b/test/phpunit/WebservicesOtherTest.php @@ -77,7 +77,11 @@ class WebservicesOtherTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class WebservicesOtherTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/WebservicesProductsTest.php b/test/phpunit/WebservicesProductsTest.php index 3d74deb721c..70a8c12a498 100644 --- a/test/phpunit/WebservicesProductsTest.php +++ b/test/phpunit/WebservicesProductsTest.php @@ -84,7 +84,11 @@ class WebservicesProductsTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -92,7 +96,12 @@ class WebservicesProductsTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/WebservicesThirdpartyTest.php b/test/phpunit/WebservicesThirdpartyTest.php index 9aefd6c5ce6..1106164b4ee 100644 --- a/test/phpunit/WebservicesThirdpartyTest.php +++ b/test/phpunit/WebservicesThirdpartyTest.php @@ -94,7 +94,11 @@ class WebservicesThirdpartyTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -103,7 +107,11 @@ class WebservicesThirdpartyTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/WebservicesUserTest.php b/test/phpunit/WebservicesUserTest.php index de51431b046..bb68f413741 100644 --- a/test/phpunit/WebservicesUserTest.php +++ b/test/phpunit/WebservicesUserTest.php @@ -77,7 +77,11 @@ class WebservicesUserTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -86,7 +90,11 @@ class WebservicesUserTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/XCalLibTest.php b/test/phpunit/XCalLibTest.php index 26d5e25c54b..9fb1975a1fd 100644 --- a/test/phpunit/XCalLibTest.php +++ b/test/phpunit/XCalLibTest.php @@ -73,7 +73,11 @@ class XCalLibTest extends PHPUnit\Framework\TestCase print "\n"; } - // Static methods + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -82,7 +86,11 @@ class XCalLibTest extends PHPUnit\Framework\TestCase print __METHOD__."\n"; } - // tear down after class + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db;